Fenster minimieren



  • Moin Zusammen!

    Schonmal vor ab, WinApi ist nicht mein Spezialgebiet 🙂

    Nach längerem Suchen hier im Forum/FAQ bin ich leider immer noch nicht viel weiter gekommen.
    Ich möchte mir ein Programm shreiben, das mir alle sichtbaren Fenster aktiviert. Hab zwar bei meiner Suche sowas ähnliches gefunden, aber das minimiert mir alle laufenden Prozesse. Aber ich will nur die sichtbaren Fenster, die in der Taskleiste zu sehen sind minimieren.

    Kurzform: Ich will mir sowas bauen, wie es z.B. auch bei Win2k gibt, mit dem Button in der Schnellstartleiste, um auf den Desktop zu kommen.

    P.S. Ich hoffe das war verständlich 😃



  • char *psEventName = "Is_Minimize";
    
    	DWORD dwError;
    
    	HANDLE hEvent = CreateEvent(NULL, TRUE,FALSE, psEventName);
    
    	// Fehlermeldung holen:
    
    	dwError = GetLastError();
    
    	// Wenn Mutex schon erstellt, Programm beenden:
    
    	if (ERROR_ALREADY_EXISTS == dwError)
    	{
    		// Desktop wiederherstellen
    		HWND hWnd = FindWindow("Shell_TrayWnd",NULL);
    		PostMessage(hWnd,WM_COMMAND,416,0);
    		SetEvent(hEvent);
    		return 1;
    	}
    
    	// Desktop reinigen
    	HWND hWnd = FindWindow("Shell_TrayWnd",NULL);
    	PostMessage(hWnd,WM_COMMAND,419,0);
    	DWORD Mutex = WaitForSingleObject(hEvent,INFINITE);
    


  • Hallo noch mal

    hab jetzt sowas in der Art gefunden, läuft alle über die Windows-Taste und die Taste M

    void MinimizeAllWindows(void)
    {
      // Win 95 - Taste drücken
      keybd_event(VK_LWIN, 0, 0, 0);
      // M - Taste drücken
      keybd_event(77, 0, 0, 0);
    
      // M - Taste loslassen
      keybd_event(VK_LWIN, 0, 0x02, 0);
      // Win 95 - Taste loslassen
      keybd_event(77, 0, 0x02, 0);
    }
    

    Ist zwar nicht ganz das gleiche wie ich es wollte, erfüllt aber seinen Zweck 😃

    [edit]
    hab jetzt erst deinen Post gesehn T2000. ich probier das mal aus 🙂
    [/edit]


Anmelden zum Antworten