2012-03-27 15 views
5

Potrzebuję pomocy przy minimalizowaniu programów przy użyciu pliku self/made made explorer.exe, ponieważ jeśli nie zostanie to odpowiednio obsługiwane, zminimalizowane programy zmniejszą się do około 100x50 pikseli i pozostaną na ekranie. Opracowałem programator w języku C#, aby sprawdzić "ikoniczne" procesy, listę ich mainWindowHandler i przenieść je poza ekran za pomocą "MoveWindow". Aby je przywrócić, używam programu obsługi i funkcji "ShowWindow", która działa NIESAMOWITE ... ale jak już powiedziałem, wymaga to ciągłego działania licznika czasu, więc musi istnieć czystszy/łatwiejszy sposób osiągnięcia tego.Obsługa zminimalizowanych programów

Wszelkie pomysły? Jakiś sposób przechwycenia i podniesienia zdarzenia, gdy okno jest zminimalizowane?

* uwaga: show i movewindow są funkcjami z user32.dll. Nie próbuję złapać, kiedy MOJE formularze są zminimalizowane, ale kiedy są INNE programy.

Odpowiedz

1

Możesz utworzyć hak, aby sprawdzić, kiedy okna są minimalizowane.

znalazłem a CodeProject article który używa haki do sprawdzenia, gdy użytkownik otwiera menu systemowego (ALT + SPACE) na każdym oknie, a następnie dodaje dodatkowy element do niego. Możesz użyć tego kodu, aby sprawdzić, kiedy użytkownik kliknie przycisk minimalizacji, i uruchomić kod, który jest tam potrzebny.

Artykuł CodeProject jest napisany w języku C++, ale można zaadaptować tę samą metodę dla C# (lub użyć P/Invoke).

Powiązane problemy