Desktop verstecken

Wolfgang Kluge
wolfgang@vbwelt.de

Eine handvoll ausgelesener Programme tut es immer wieder. Den Desktop "verschwinden" lassen. (Also eigentlich ja nur die Icons auf dem Desktop und das Kontextmenü)

Das ist zwar nicht sonderlich nett, und bestimmt nicht gern gesehen, aber wenn mal ein Programm mehrere komplizierte Rechenoperationen ausführen soll, kann man eh kein anderes Programm ausführen... und wenn man das dann doch will, dann bleibt das neu geöffnete beim Start fast stehen, und das, dass eigentlich schon längst fertig sein könnte braucht noch etwas länger...

Also wieso nicht den Desktop ausschalten... Mit folgendem Code gehts kurz und schmerzlos.

 Deklaration:
Private Declare Function ShowWindow Lib "user32" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Private Const SW_HIDE = 0
Private Const SW_SHOW = 5


Um nun den Desktop zu leeren, brauchts nur noch den entsprechenden Aufruf.

' Desktop verstecken
Dim h As Long
h = FindWindow("Progman", "Program Manager")
ShowWindow h, SW_HIDE

' Desktop wieder anzeigen
Dim h As Long
h = FindWindow("Progman", "Program Manager")
ShowWindow h, SW_SHOW


Wie fast alles andere kann man dieses aber auch umgehen. Wenn man unter Win98(nur von da kenn ich es) auf das kleine Icon "Desktop anzeigen" klickt, oder die Tastenkombination Win+D benutzt, erscheint der Desktop wieder. Erst wenn man dann ein Programm oder irgendwas (TextDatei,...Document,..) aufruft, verschwindet dieser auch schon wieder. Also nicht die perfekte Lösung,... Zudem hat die Funktion unter WinXP keinerlei wirkung (Win2000 wird genauso sein)