Skip to content

Instantly share code, notes, and snippets.

@rofl0r
Created September 8, 2010 17:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rofl0r/570454 to your computer and use it in GitHub Desktop.
Save rofl0r/570454 to your computer and use it in GitHub Desktop.
function Execute(const Cmd: string): Integer;
var
ProcessInfo: TProcessInformation;
StartupInfo: TStartupInfo;
begin
StartupInfo.cb := SizeOf(StartupInfo);
GetStartupInfo(StartupInfo);
if CreateProcess(nil, PChar(Cmd), nil, nil, True, 0, nil,
PChar(ExtractFilepath(ParamStr(0))), StartupInfo, ProcessInfo) then
begin
CloseHandle(ProcessInfo.hThread);
WaitForSingleObject(ProcessInfo.hProcess, INFINITE);
GetExitCodeProcess(ProcessInfo.hProcess, Cardinal(Result));
CloseHandle(ProcessInfo.hProcess);
end
else
Result := -1;
end;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment