
16.12.2008, 14:50
|
Прохожий
|
|
Регистрация: 16.12.2008
Сообщения: 1
Репутация: 10
|
|
Цитата:
Сообщение от Alexo
Проблема оказалась в Delphi 2009
|
Alexo, добрый день! Столкнулся с проблемой обработки CreateProcess на Win 64-bit. Код написан на Д2009 и скомпилен на Win32. Скажите, как решить сею незадачу? И помог ли приведенный выше код? Вот кусок моего кода:
Код:
function ExecAndWait(const FileName, Params: ShortString; const WinState: Word): boolean; export;
var
StartInfo: TStartupInfo;
ProcInfo: TProcessInformation;
CmdLine: ShortString;
begin
CmdLine :=Filename+ Params;
FillChar(StartInfo, SizeOf(StartInfo), #0);
with StartInfo do
begin
cb := SizeOf(StartInfo);
dwFlags := STARTF_USESHOWWINDOW;
wShowWindow := WinState;
end;
Result := CreateProcess(nil, PChar( String( CmdLine ) ), nil, nil, false,
CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil,
PChar(ExtractFilePath(Filename)),StartInfo,ProcInfo);
if Result then
begin
WaitForSingleObject(ProcInfo.hProcess, INFINITE);
{ Free the Handles }
CloseHandle(ProcInfo.hProcess);
CloseHandle(ProcInfo.hThread);
end;
end;
|