Lazarus 2.0.10 (2020.07.11.)
Letöltés

file Vírusirtó

  • JohnnyK
  • JohnnyK profilkép
  • Gyakori fórumozó
  • Gyakori fórumozó
  • Hozzászólások: 78
  • Köszönetek: 16

JohnnyK válaszolt a témára: Vírusirtó

Ha jól értem, akkor az ipconfig /all parancs eredményében szeretnél keresgélni, majd egy szövegfájlba menteni a kiemelt adatokat. A következő parancsok egy StringList-be gyűjtik neked az ipconfig /all kimenetét ( sajnos az ANSI kódolás miatt a magyar ékezetek egyelőre még eltűnnek ). A StringList-et a végén le is mentheted fájlba, vagy előtte kikeresheted belőle a fontosabb adatokat. A kód:
uses Process, ...
procedure TForm1.Button1Click(Sender: TObject);
const BUF_SIZE = 2048;
var   aProcess: TProcess;
      StrList: TStringList;
      aStream: TStream;
      BytesRead: integer;
      Buffer: array [1..BUF_SIZE] of byte;
begin
  aProcess := TProcess.Create(nil);
  aProcess.Executable := 'ipconfig';
  aProcess.Parameters.Add('-all');
  aProcess.Options := aProcess.Options + [poUsePipes];
  aProcess.Execute;
  aStream := TMemoryStream.Create;
  repeat
    BytesRead := AProcess.Output.Read(Buffer, BUF_SIZE);
    aStream.Write(Buffer, BytesRead);
  until BytesRead = 0;
  aProcess.Free;
  StrList := TStringList.Create;
  aStream.Position := 0;
  StrList.LoadFromStream(aStream);  
// Sajnos az aStream túl hosszú ahhoz, hogy egy egyszerű StrList.LoadFromStream(aProcess.Output); működjön, 
// a fenti bufferezgetés feltétlen szükséges volt nálam a működéshez.
  aStream.Free;
  StrList.SaveToFile('lista.txt');
  StrList.Free;
end;
#2023

  • SziZo
  • SziZo profilkép
  • Új fórumozó
  • Új fórumozó
  • Hozzászólások: 12
  • Köszönetek: 0

SziZo válaszolt a témára: Vírusirtó

Bocs kimaradt: Az edit1.text a munkatárs belépőkártya száma (begépeli)
#2022

  • SziZo
  • SziZo profilkép
  • Új fórumozó
  • Új fórumozó
  • Hozzászólások: 12
  • Köszönetek: 0

SziZo létrehozta a témát: Vírusirtó

A feladat:
*IPcím
*MAC
*Host név
Gyűjtése.

Erre a következőt találtam ki:
RunCommand('y:\szizo\teszt.cmd',[edit1.text],ki);
Ahol a teszt.cmd:

echo %1 >> y:\szizo\lista.txt
ipconfig /all >> y:\szizo\lista.txt

Ezt (az elég rusztikus) megoldást a vírusirtók nem értékelik. Hosszú várakozás után fagyás. A 2. indítás működik.
Van valami korrektebb megoldás? (azt tudjuk, hogy az az adapter érdekel, aminek az IP címe 10.20.10.X)

Köszönettel:
Szizo
#2021