uses shellapi;
type
Dos_EingabeAufforderung =
(OffenLassen, GleichWiederSchliessen, GarNichtZeigen);
function DosKommando(Kommando: string; Fenster: Dos_EingabeAufforderung):
integer;
var
art: string;
p: PChar;
i: integer;
begin
getmem(p, max_path);
if findexecutable('cmd.exe', nil, p) < 33 then
findexecutable('command.com', nil, p);
case Fenster of
OffenLassen: begin i := sw_shownormal; art := '/K'; end;
GleichWiederSchliessen: begin i := sw_show; art := '/C'; end;
else begin i := sw_hide; art := '/C'; end;
end;
result := shellexecute(0, 'open', p,
pchar(art + #32 + kommando), nil, i);
freemem(p);
end;
// Beispielaufruf:
// Protokallstatistik TCP/IP
procedure TForm1.Button1Click(Sender: TObject);
begin
if doskommando('netstat -a', offenlassen) < 33 then showmessage('Fehler');
end;