Desktopfenster(WinApi)

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Rufus Serano

Betreff: Desktopfenster(WinApi)

BeitragMo, Sep 07, 2009 18:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo liebe Community.
Ich habe folgendes entdeckt: Es gibt bei Windows (zumindest bei XP, ich denke nicht, dass das bei anderen Versionen anders ist) ein Fenster, auf dem die Desktop-Icons gezeichnet werden. Eigentlich dachte ich, dass dieses Fenster das Desktopfenster wäre. Doch nachdem ich das Handle dieses Fensters(durch GetForegroundWindow ermittelt) mit dem Desktophandle(durch GetDesktopWindow ermittelt) verglichen habe, habe ich festgestellt, dass es sich um 2 verschiedene Fenster handelt.
Nun stellt sich mir die Frage, was genau das DesktopWindow eigentlich ist, denn das Fenster, dass die Icons darstellt, ist es ja scheinbar nicht.
Viel wichtiger wäre es allerdings für mich zu wissen, wie man an das Fenster rankommt, dass die Icons darstellt. Zudem interesiert mich, wie ein solches Fenster erstellt wird. Es scheint kein Parent zu haben, ist aber dennoch das Fenster, dass unter Windows unter allen anderen Fenstern ist.
Ich versuche momentan ein B3D Fenster hinter dieses Fenster zu bekommen, sodass die Icons über das B3D Fenster gezeichnet werden. Bevor jemand mit der Argumentation kommt: Nein, das ist nicht das Fenster mit dem Wallpaper. Das Wallpaper ist hinter dem IconFenster. und ist scheinbar garkein eigenständiges Fenster.

Ich hoffe, dass mir jemand diesbezüglich Auskunft geben kann, denn ich arbeite schon länger an diesem Problem und weiß ehrlich nicht genau, wie man das ganze angehen könnte...

Nicdel

BeitragMo, Sep 07, 2009 18:21
Antworten mit Zitat
Benutzer-Profile anzeigen
So weit ich weiß gehören die Icons zum Windows-Explorer. Ohne die explorer.exe werden weder Icons noch Startleiste angezeigt. Der Hintergrund aber schon.
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7
 

Rufus Serano

BeitragMo, Sep 07, 2009 18:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist mir durchaus bewusst. Nur gehört auch die Startleiste zum Explorer, sowie jedes andere Explorer-Fenster. Mir geht es aber explizit um das 'Icon-Fenster'. Wie wird so ein Fenster erstellt? Wie kommt man an das Handle dieses Fensters?
Und was ist dann das Fenster das von GetDesktopWindow() zurückgeliefert wird?

Nicdel

BeitragMo, Sep 07, 2009 18:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

AppHWND = SystemProperty("AppHWND")

lastHWND = GetWindow(AppHWND,GW_HWNDLAST)

Print lastHWND

ShowWindow(lastHWND, SW_HIDE)

WaitKey

End


Dieser Code lässt bei mir die Icons verschwinden Wink
Das Icon-Fenster ist also immer das letzte.
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7
 

Rufus Serano

BeitragMo, Sep 07, 2009 18:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Wow, dadurch wird tatsächlich das 'IconFenster' zurückgegeben Very Happy
Vielen Dank!

Nicdel

BeitragMo, Sep 07, 2009 18:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Gerne. Wenn du wegen deinem WinApiWrapper noch Hilfe brauchst (z.B. in Form einer BB-Datei mit allen WinAPI-Konstanten), schick mir eine PN übers Forum Wink
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group