2012-04-26 50 views
0

我正在尋找開發一個應用程序,它本質上是一個定時器窗口,它始終顯示在任何其他應用程序的前面,並且在聚焦其他窗口時不會掉到背景上。一個例子是當我玩全屏遊戲時,我希望這個計時器覆蓋遊戲,當我點擊窗口上的計時器按鈕時,它不會關閉遊戲。有沒有辦法在一個完全篩選的程序上覆蓋一個應用程序?

任何想法如何在C#/ java/C++中實現這一點?

感謝

回答

1

C#:嘗試設置窗口的AlwaysOnTop屬性(形式)
的java:調用框架或對話框

+0

但是其他的要求是在那裏我有麻煩。如果我點擊框架上的按鈕,它將關閉全屏程序並聚焦窗口。任何想法如何不在過程中關閉全屏程序? – user781439 2012-04-26 18:34:30

+0

您是否嘗試製作框架模式?在C#中,您可以通過調用Show()方法,而不是調用窗體上的ShodDialog()來完成此操作。 – cre8or 2012-04-26 18:41:28

+0

我不認爲你會得到我試圖做的事情。我在計算機上運行的任何程序,遊戲或應用程序,都需要我的C#表單始終處於頂部。但是,使用setAlwaysonTop在遊戲全屏時不起作用... – user781439 2012-04-26 21:42:49

0

我認爲在setAlwaysOnTop(真)要實現CAN什麼與該屬性在C#的形式TopMost,並setAlwaysOnTop在Java窗口在Windows上實現......

在C++中,你必須調用SetWindowPos函數並傳遞作爲參數:HWND_TOPMOST attribue。

UPDATE

既然你在全屏模式下的應用程序嘗試設置與Win32 API函數前臺應用程序:SetForegroundWindow

[System.Runtime.InteropServices.DllImport("user32.dll")] 
public static extern bool SetForegroundWindow(IntPtr hWnd); 

SetForegroundWindow(this.Handle); 

否則,你可以儘量避免使用Win32 SetForegroundWindow函數是這樣的:

this.TopMost = true; 
this.Activate(); 
+0

不適用於全屏應用程序,任何想法。 – user781439 2012-04-26 20:42:03

+0

看看我更新的答案,並讓我知道,我還沒有測試,但可以工作... – aleroot 2012-04-27 07:46:32

相關問題