Desktop anzeigen



  • Ihr könnt das ja gar nicht. 😃 🤡

    SendMessage( FindWindow("Shell_TrayWnd", NULL), WM_COMMAND, 407, 0 );
    

    🕶
    🙂



  • Wie Kolumbus schon sagte: Wen willst du überhaupt minimieren?

    • das eigene Fenster?
    this->ShowWindow(SW_MINIMIZE);//für Kolumbus: das ist identisch zu ShowWindow(myHwnd,SW_MINIMIZE)
    
    • alle vorhandenen Fenster?
      Da bleibt im Notfall die Extremvariante - minimiere jedes Fenster einzeln:
    //Prinziplösung - solltest du eventuell mit der MSDN abgleichen
    EnumWindows(ShowWindow,SW_MINIMIZE);
    


  • CStoll schrieb:

    //für Kolumbus: das ist identisch zu ShowWindow(myHwnd,SW_MINIMIZE)
    

    Ich kann da nicht drüber lachen 😃

    proggingmania schrieb:

    SendMessage( FindWindow("Shell_TrayWnd", NULL), WM_COMMAND, 407, 0 );
    

    und was ist das für eine flache Aktion? 😉

    DerHeide schrieb:

    Es funktioniert wie oben beschrieben nicht...

    Was soll Es denn nun werden?



  • Kolumbus schrieb:

    CStoll schrieb:

    //für Kolumbus: das ist identisch zu ShowWindow(myHwnd,SW_MINIMIZE)
    

    Ich kann da nicht drüber lachen 😃

    Das war auch nicht als Witz gedacht - ich wollte nur weitere Bemerkungen zu den MFC-Methoden vermeiden 😉

    PS: Eine Alternative zu dem obigen EnumWindows() ist mir im Nachhinein noch eingefallen:

    SendMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_MINIMIZE,0);
    


  • Kolumbus schrieb:

    und was ist das für eine flache Aktion? 😉

    Diese ultracoole Aktion macht das, was der OP gern hätte, 🕶
    nämlich die Tastenkombination 'Windowstaste+D' softwaregesteuert zu emulieren. 😃

    edit: könnt ihr denn alle nicht lesen ? 😃



  • CStoll schrieb:

    PS: Eine Alternative zu dem obigen EnumWindows() ist mir im Nachhinein noch eingefallen:

    SendMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_MINIMIZE,0);
    

    Mir auch, wie wäre es mit dem HWND_BOOST_SEND_VIA_SATTELITE_ACTIVATION_TEMPLATE Flag ? 😃



  • CStoll schrieb:

    ...ich wollte nur weitere Bemerkungen zu den MFC-Methoden vermeiden...

    jaa - ich spare sie mir ja schon... 🤡

    proggingmania schrieb:

    Diese ultracoole Aktion macht das, was der OP gern hätte, 🕶
    nämlich die Tastenkombination 'Windowstaste+D' softwaregesteuert zu emulieren. 😃

    hmmm... sah auf den 1. Blick irgendwie aus, wie ein "flachmachen" des Fensters. Deswg. "flache Aktion". Aber ich mache mich sofort schlau. 😞

    proggingmania schrieb:

    ... wie wäre es mit dem HWND_BOOST_SEND_VIA_SATTELITE_ACTIVATION_TEMPLATE Flag ?

    Mach sowas bitte nicht nochmal, wenn ich hier im Büro schon ab und an ins Forum schaue sollte ich nicht laut loslachen und den ganzen Schreibtisch vollspucken... 😡



  • CStoll schrieb:

    PS: Eine Alternative zu dem obigen EnumWindows() ist mir im Nachhinein noch eingefallen:

    SendMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_MINIMIZE,0);
    

    Hast Du's probiert!? 😃

    Ich wär für:

    #include <windows.h>
    
    void show_desktop( ) {
    
        keybd_event( VK_LWIN, 0, 0, 0 );
        keybd_event( 0x4d, 0, 0, 0 );
        keybd_event( 0x4d, 0, KEYEVENTF_KEYUP, 0 );
        keybd_event( VK_LWIN, 0, KEYEVENTF_KEYUP, 0 );
    }
    

    greetz, Swordfish



  • LOL danke, aber die Version von proggingmania hätte mir auch einfallen
    müssen. Funktioniert natürlich super. 👍

    keybd_event wäre sicher auch gegangen, aber SendMessage bzw. sogar eher
    PostMessage sind da vermutlich wesentlich sicherer.



  • Swordfish schrieb:

    CStoll schrieb:

    PS: Eine Alternative zu dem obigen EnumWindows() ist mir im Nachhinein noch eingefallen:

    SendMessage(HWND_BROADCAST,WM_SYSCOMMAND,SC_MINIMIZE,0);
    

    Hast Du's probiert!? 😃

    Ehrliche Antwort? Nein.


Anmelden zum Antworten