2012-03-27 71 views
5

當使用自定義/自制的explorer.exe文件時,我需要幫助處理最小化的程序..因爲除非正確處理,否則最小化的程序將縮小到100x50像素並保持在屏幕上。我在C#中計算了一個Timer,以檢查「標誌性」進程,列出它們的mainWindowHandler,並使用「MoveWindow」將它們移動到屏幕之外。爲了讓他們回來,我使用處理程序和「ShowWindow」函數,這真的很棒..但正如我所說,它涉及一個不斷運行的計時器,所以必須有一個更簡單/更簡單的方法來實現這一點。處理最小化的程序

任何想法?在窗口最小化的時候掛鉤並引發事件的一些方法?

*請注意:show和movewindow是user32.dll的函數。當我的表格被最小化時,我不會去捕捉,但是當OTHERS程序時。

回答

1

您可以創建一個掛鉤來檢查窗口何時最小化。

我發現a CodeProject article使用鉤子,當用戶打開的任何窗口的系統菜單(ALT + SPACE ),然後附加一個額外的項目,以它來檢查。您可以使用該代碼來檢查用戶何時點擊最小化按鈕,並在那裏運行您需要的任何代碼。

CodeProject文章是用C++編寫的,但是你可以爲C#調整相同的方法(或者使用P/Invoke)。

相關問題