本文整理自网络,侵删。
uses Winapi.ShellAPI;
{ Runs application using ShellExecuteEx and waits for completion. }function ShellExecuteAndWait(FileName: String; Params: String): Boolean;var exInfo: TShellExecuteInfo; Ph: DWORD;begin FillChar(exInfo, SizeOf(exInfo), 0); with exInfo do begin cbSize := SizeOf(exInfo); fMask := SEE_MASK_NOCLOSEPROCESS or SEE_MASK_FLAG_DDEWAIT; Wnd := GetActiveWindow(); exInfo.lpVerb := 'open'; exInfo.lpParameters := PChar(Params); lpFile := PChar(FileName); nShow := SW_SHOWNORMAL; end; if ShellExecuteEx(@exInfo) then Ph := exInfo.hProcess else begin ShowMessage(SysErrorMessage(GetLastError)); Result := true; exit; end; while WaitForSingleObject(exInfo.hProcess, 50) <> WAIT_OBJECT_0 do Application.ProcessMessages; CloseHandle(Ph); Result := true;end;
procedure TForm1.FormCreate(Sender: TObject);begin
ShellExecuteAndWait('regedit.exe','');
end;
相关阅读 >>
Delphi setcursorpos函数在窗口上定位鼠标坐标
Delphi unknown picture file extension (.jpg) 错误提示
更多相关阅读请进入《Delphi》频道 >>