Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
|
Re: Explorerfenster schließen
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 ...
|
|
Zitat
|