Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > WinExec32AndWait


Автор: CompWorm 18.3.2008, 09:55
нашел вот такую функцию:
Код

    function WinExec32AndWait(const Cmd: string; const CmdShow: Integer): Cardinal;
var
  StartupInfo: TStartupInfo;
  ProcessInfo: TProcessInformation;
begin
  Result := Cardinal($FFFFFFFF);
  FillChar(StartupInfo, SizeOf(TStartupInfo), #0);
  StartupInfo.cb := SizeOf(TStartupInfo);
  StartupInfo.dwFlags := STARTF_USESHOWWINDOW;
  StartupInfo.wShowWindow := CmdShow;
  if CreateProcess(nil, PChar(Cmd), nil, nil, False, NORMAL_PRIORITY_CLASS,
    nil, nil, StartupInfo, ProcessInfo) then
  begin
    WaitForInputIdle(ProcessInfo.hProcess, INFINITE);
    if WaitForSingleObject(ProcessInfo.hProcess, INFINITE) = WAIT_OBJECT_0 then
    begin
      if not GetExitCodeProcess(ProcessInfo.hProcess, Result) then
        Result := Cardinal($FFFFFFFF);
    end;
    CloseHandle(ProcessInfo.hThread);
    CloseHandle(ProcessInfo.hProcess);
  end;
end;


на
Код

si : Tstartupinfo;
p : Tprocessinformation;

выдает ошибку. типа, не знает дельфи такие типы.
хотя, судя http://vsokovikov.narod.ru/New_MSDN_API/Process_thread/str_startupinfo.htm должна бы знать.
хелп! smile 

Автор: THandle 18.3.2008, 10:10
Цитата(CompWorm @  18.3.2008,  09:55 Найти цитируемый пост)
выдает ошибку. типа, не знает дельфи такие типы.

Странно. У меня все норм.

Код

Uses Windows 

подключен?

Автор: CompWorm 18.3.2008, 15:11
я тупица! простите меня))) я виндос отключил задолго до этого специально и забыл.
сорри. тема закрыта

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)