Thema: Delphi Shellexecute Problem

Einzelnen Beitrag anzeigen

Benutzerbild von CTV
CTV

Registriert seit: 20. Jan 2004
Ort: Zug CH
83 Beiträge
 
Delphi 7 Professional
 
#1

Shellexecute Problem

  Alt 27. Feb 2004, 14:04
hallo

Ich verwnde folgende Procedure um eine App zu starten und zu warten bis sie zu ende ist.

Delphi-Quellcode:
uses
  ShellApi;

procedure ShellExecute_AndWait(FileName: string; Params: string);
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));
    Exit;
  end;
  while WaitForSingleObject(ExInfo.hProcess, 50) <> WAIT_OBJECT_0 do
    Application.ProcessMessages;
  CloseHandle(Ph);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShellExecute_AndWait('FileName', 'Parameter');
end;
Es funktioniert eigentlich prima, jedoch haben mir einige Leute die mit WinXp arbeiten gesagt dass bie ihnen keine APP gestartet wird. Sondern nur der FileExploerer geöffnet wird. ich hab das dann auch nochmal mit winXp probiert bei mir gings dann wieder. An was kann das liegen ? Was ist an der XP version falsch damit es bei einigen geht und bei anderen wiederum nicht ? weiss jemand an was das liegen könnte ?

greetz Cyrus
Wer glaub er ist, hört auf zu werden!
Delphi Rulez!!!
  Mit Zitat antworten Zitat