2013-02-24 85 views
0

我想讓我的MDI MFCapplication最頂層的all other applications' windows在windows操作系統上運行。所以我可以在我的應用程序中製作一個one view的屏幕截圖。
但功能如SetWindowPos(&CWnd::wndTopMost, 0, 0, 0, 0, SWP_SHOWWINDOW);SetFocus()(在我的view class中調用)完全不起作用。
每當another application's window在我的頂部,我做了screenshot,它會在我的頂部保存一張window的圖片。使我的MDI應用程序最頂層的其他應用程序?

那麼如何讓my application's windows(上other applications' windows

+0

使用粗體或斜體標記(\ *或\ * \ *)代替代碼(\')。 – 2013-02-24 04:04:19

回答

1

我想讓我的MDI MFC應用程序在所有其他應用程序的最高層窗口中

這根本不可能。如果您的應用程序可以這樣做,那麼其他應用程序也可以。只有一個人可以獲勝,而且沒有理由說明你的申請可能比其他人更特別。

1

嘗試頂部專門the view window)

SetWindowPos(&CWnd::wndTopMost, 0, 0, 0, 0, SWP_SHOWWINDOW|SWP_NOMOVE|SWP_NOSIZE); 

或:

BringWindowToTop(); 
+0

不工作,我想我應該先激活我的窗口(或「設置焦點」)。 – RubbyMath 2013-02-26 11:09:33

+0

@RubbyMath - SetWindowPos API調用起作用!但是你必須在CFrame類中調用它,因爲只有應用程序主窗口可以被帶到最頂層,而不是任何子視圖或子窗口。 – mfc 2013-02-26 23:38:46

+1

有一個小竅門,如何在最新版本的Windows中竊取重點。請參閱此文章(http://www.codeproject.com/Articles/1724/Some-handy-dialog-box-tricks-tips-and-workarounds)(在頁面上搜索術語「如何竊取焦點」) – cha 2013-02-27 00:14:29

相關問題