
13.07.2012, 08:51
|
 |
Let Me Show You
|
|
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
|
|
используй 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 вызывает утечку.
__________________
Пишу программы за еду.
__________________
|