
13.07.2012, 09:16
|
Прохожий
|
|
Регистрация: 07.06.2010
Сообщения: 32
Репутация: 10
|
|
Цитата:
Сообщение от NumLock
используй CreateProcess вместо ShellExecute:
Код:
var
startupinfo: TStartupInfo;
processinformation: TProcessInformation;
ls: TStringList;
begin
ZeroMemory(@processinformation, SizeOf(TProcessInformation));
ZeroMemory(@startupinfo, SizeOf(TStartupInfo));
startupinfo.cb:=SizeOf(TStartupInfo);
startupinfo.dwFlags:=STARTF_USESHOWWINDOW;
startupinfo.wShowWindow:=SW_HIDE;
CreateProcess(nil, 'cmd.exe /c net session >c:\1.txt', nil, nil, False, 0, nil, nil, startupinfo, processinformation);
WaitForSingleObject(processinformation.hProcess, INFINITE);
CloseHandle(processinformation.hThread);
CloseHandle(processinformation.hProcess);
ls:=TStringList.Create;
try
ls.LoadFromFile('c:\1.txt');
ls.Text:=DosToWin(ls.Text);
ls.SaveToFile('c:\1.txt');
finally
ls.Free;
end;
end;
ShellExecute вызывает утечку.
|
спасибо помогло.
|