1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
if CreateProcess(nil, PChar('cmd.exe /c ' + CommandLine),
nil, nil, True, CREATE_NO_WINDOW, nil, nil, StartupInfo, ProcessInfo) then
begin
// ------ essai 1 ---- lire aOutput, devrait renvoyer le code d'erreur
WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
GetExitCodeProcess(ProcessInfo.hProcess, aOutPut);
CloseHandle(ProcessInfo.hProcess);
CloseHandle(ProcessInfo.hThread);
// ------ essai 2 ---- lire OutputStr devrait renvoyer le message
ZeroMemory(@Buffer, SizeOf(Buffer));
CloseHandle(StdOutPipeWrite);
while ReadFile(StdOutPipeRead, Buffer, SizeOf(Buffer) - 1, BytesRead, nil) and (BytesRead > 0) do
begin
Buffer[BytesRead] := #0;
OutputStr := OutputStr + string(Buffer);
end;
WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
CloseHandle(ProcessInfo.hProcess);
CloseHandle(ProcessInfo.hThread);
Result := Trim(OutputStr);
end; |
Partager