Registriert seit: 20. Feb 2004
Ort: Noch unterm Mond
126 Beiträge
|
WinExec32AndWait nicht einbaubar...
22. Feb 2004, 20:41
Ich will ein Programm durch mein Programm starten. Mit ShellExecute gehts nicht. Nun wollte ich die Funktion WinExec32AndWait ausprobieren und kann diese aber nicht einbauen. Hab ich was bei uses vergessen?
Delphi-Quellcode:
var
Form6: TForm6;
implementation
uses D2V, AVAENC, ShellAPI;
{$R *.dfm}
Delphi-Quellcode:
procedure TForm6.GroupBox3Click(Sender: TObject);
var ChildExitCode: Cardinal;
begin
//ChildExitCode := WinExec32AndWait('"C:\DRPEncFiles\DVD2AVIDRPEnc.exe"', SW_NORMAL);
if ChildExitCode = $FFFFFFFF then
ShowMessage('Delphi 6 konnte nicht gestartet werden.');
end;
//ExecuteFile('', '', '', False);
function WinExec32AndWait(const Cmd: string; const CmdShow: Integer): Cardinal;
var
sui : TStartupInfo;
pi : TProcessInformation;
begin
Result := Cardinal($FFFFFFFF);
ZeroMemory(@sui,sizeof(TStartupInfo)); sui.cb := SizeOf(TStartupInfo);
sui.dwFlags := STARTF_USESHOWWINDOW;
sui.wShowWindow := CmdShow;
if(CreateProcess(nil,pchar(Cmd),nil,nil,False,NORMAL_PRIORITY_CLASS,nil,nil,sui,pi)) then
begin
WaitForInputIdle(pi.hProcess, INFINITE);
if(WaitForSingleObject(pi.hProcess, INFINITE) = WAIT_OBJECT_0) then
begin
{$IFDEF DELPHI3}
if not GetExitCodeProcess(pi.hProcess, Integer(Result)) then
{$ELSE}
if not GetExitCodeProcess(pi.hProcess, Result) then
{$ENDIF DELPHI3}
Result := Cardinal($FFFFFFFF);
end;
CloseHandle(pi.hThread);
CloseHandle(pi.hProcess);
end;
end;
CU
DRPEnc
|
|
Zitat
|