Einzelnen Beitrag anzeigen

Tannendiess

Registriert seit: 28. Feb 2004
10 Beiträge
 
Delphi 7 Professional
 
#5

Re: Shellexecute mit explorer.exe -> Fenster verhindern

  Alt 2. Feb 2006, 14:00
Zitat von retnyg:
probier mal bei dem ersten nil ein 'open' und das hide lass weg
Dann öffnet er trotzdem das Explorer-Fenster.

Zitat von retnyg:
ansonsten nimm CreateProcess
Hab ich mal probiert. Dazu habe ich mir folgende Funktion kopiert:
Delphi-Quellcode:
procedure TForm1.ExplorerStarten;
var aSi:TStartUpInfo;
aPI:TProcessInformation;
dwError:DWord;
begin
  FillChar(aSi,SizeOf(TStartupInfo),0);
  with aSI do
  begin
    cb:=SizeOf(TStartupInfo);
    dwFlags:=STARTF_USESHOWWINDOW;
    wShowWindow:=SW_HIDE;
  end;
  if not createprocess(
  CreateProcess(PChar('explorer.exe'),nil,nil,nil,false,
                       NORMAL_PRIORITY_CLASS,nil,nil,aSI,aPI) then
  begin
    dwError:= GetLastError;
    showmessage(Format('Programm kann nicht gestartet werden. Fehler : %d',[dwError]));
  end;
end;
Es funktioniert zwar alles, auch das Explorer-Fenster geht dann nicht mehr auf. Es kommt aber folgender Fehler: 'Programm kann nicht gestartet werden. Fehler : 2'.

Ich könnte natürlich einfach die Fehlermeldung deaktivieren, dann würde alles laufen. Aber der Fehler kommt ja nicht umsonst. Was bedeutet er und wie kann ich ihn verhindern?
  Mit Zitat antworten Zitat