Einzelnen Beitrag anzeigen

Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#5

Re: Explorerfenster schließen

  Alt 27. Jun 2005, 21:35
Ok, dann hier der Code:

Öffnen:
Delphi-Quellcode:
   wnd := FindWindow('ExploreWClass','Anapod Explorer');

   if wnd = 0 then
   begin
      RunProcess ('C:\WINDOWS\explorer.exe /e,/n,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{BBA7EB3F-97AB-4EBD-BCA2-C3C8DBED4490}', SW_SHOWNORMAL, False, nil);

      TimeOut := GetTickCount + 2000;

      repeat
         Sleep(0);
         wnd := FindWindow('ExploreWClass','Anapod Explorer');
      until (wnd <> 0) or (GetTickCount > TimeOut);
   end;

   AnapodExplorerHandle := wnd; // AnapodExplorerHandle ist eine private Variable des Forms

// unwichtiger Code
Versuch, zu schließen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  showmessage (inttostr (AnapodExplorerHandle));

   SendMessage(AnapodExplorerHandle, WM_QUIT, 0, 0);
   SendMessage(AnapodExplorerHandle, WM_CLOSE, 0, 0);
end;
Und das Handle ist gleich dem, dass mir Winspy anzeigt ... ich blick' da nicht mehr so recht durch


Edit:

Habs jetzt hinbekommen, hatte direkt das SC_CLOSE als Message versendet ...
Richig muss es so sein:SendMessage(AnapodExplorerHandle, WM_SYSCOMMAND, SC_CLOSE, 0); Dann geht's auch ...
  Mit Zitat antworten Zitat