Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Čteni IP s adapteru (Delphi)

Dobry den.
Potřebují v mem programu vypsat IP adresu,masku,branu a DNS připojeneho adapteru.
Pohrála jsem si tady s tímto zdrojakem a obrátila ho.

http://delphi.cjcsoft.net/viewthread.php?tid=43310

Pokud je IP necvakaná ručně tak mi to funguje.
Pokud je adapter nastaven pro získání IP s DHCP tak to IP nenačte.
Mužů mít v mem zdrojaku něco špatně nebo to fakt neumí vyčíst IP získanou s DHCP.

Popřipadě poradite nějaky jiny zpusob jak tu IP ziskat.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Dobry den. Pan Jan Fiala tu dal zdrojaček. Marně se to snažim rozchodit v XE2. Rad bych to použil ne… nový
Borisek 30.06.2012 08:19
Borisek
A kde ti to konkretne hlasi problem? nový
Jan Fiala 30.06.2012 10:20
Jan Fiala
To same co psala nahoře Marcelka. [DCC Warning] Unit1.pas(32): W1044 Suspicious typecast of string… nový
Borisek 30.06.2012 10:49
Borisek
PAnsiChar() nahrad za PWideChar() nový
Jan Fiala 30.06.2012 12:02
Jan Fiala
Ještě posledni [DCC Error] Unit1.pas(32): E2010 Incompatible types: 'PWideChar' and 'Integer' nový
Borisek 30.06.2012 14:44
Borisek
Zkontroluj si parametry funkce podle napovedy s tim, co tam posilas. Zkus to takto: ShellExecute(0,… nový
Jan Fiala 30.06.2012 15:42
Jan Fiala
Dobrý den. Nějak nemohu pohnout s tým co tu dal pan Jan Fiala. var s: String; sl: TStringList; beg… poslední
Martin.Ma 12.12.2013 18:08
Martin.Ma

Dobry den.
Pan Jan Fiala tu dal zdrojaček.
Marně se to snažim rozchodit v XE2.
Rad bych to použil ne pro IPConfig ale tracert.
Pujde to nějak.

uses
 ShellApi;

procedure xxxxx
var
  s: AnsiString;
  sl: TStringList;
begin  
  s := ChangeFileExt(Application.ExeName, '.LOG');
  ShellExecute(0, 'C:\Windows\System32\IPConfig.exe', PAnsiChar('>'+s), nil, SW_Hide);
  Sleep(200);
  sl := TStringList.Create;
  sl.LoadFromFile(s);
  { tady si to zpracuj, pripadne to primo zobraz treba v Memo: Memo.Lines.LoadFromFile(s) }
  ...
  sl.Free;
end;

To same co psala nahoře Marcelka.

[DCC Warning] Unit1.pas(32): W1044 Suspicious typecast of string to PAnsiChar
[DCC Error] Unit1.pas(32): E2010 Incompatible types: 'PWideChar' and 'PAnsiChar'
[DCC Error] Unit1.pas(32): E2010 Incompatible types: 'PWideChar' and 'Integer'

řadek 32 je

ShellExecute(0, 'C:\Windows\System32\IPConfig.exe', PAnsiChar('>'+s), nil, SW_Hide);

Dobrý den.
Nějak nemohu pohnout s tým co tu dal pan Jan Fiala.

var
s: String;
sl: TStringList;
begin
s := ChangeFileExt(Application.ExeName, '.LOG');
ShellExecute(0, 'Open', 'C:\Windows\System32\IPConfig.exe', PWideChar('>'+s), nil, SW_normal);
Sleep(200);
sl := TStringList.Create;
sl.LoadFromFile(s);

Ve stringu s mi to vrací cestu k souboru .LOG
Pokud jsem to pochopil tak si to uloží do toho souboru LOG výpis s IPConfig a pak načte do s.

Je to to same, když použijí toto?
ShellExecute( handle, 'open', 'cmd.exe', '/q /c ipconfig -all > C:\logs1.txt', nil ,SW_SHOWNORMAL );

Zpět do poradny Odpovědět na původní otázku Nahoru