我想要做的是檢查我的應用程序是否有焦點,因爲如果它不是,那麼我會彈出一個警報窗口剛好在通知區域以顯示一些消息給最終用戶。如何檢查我的應用程序是否有焦點?
8
A
回答
16
致電Windows.GetForegroundWindow()
然後將HWND
傳遞給Controls.FindControl()
函數。如果HWND
屬於您的進程,它將返回非零TWinControl
指針。例如:
if FindControl(GetForegroundWindow()) <> nil then
// has focus ...
else
// does not have focus ...
4
如果您的應用程序由一個單一的形式,然後
GetForegroundWindow = Handle
就足夠了。上面的表達式當且僅當您的窗體是前景窗口,也就是說,如果鍵盤焦點屬於此窗體上的控件(或窗體本身),則上述表達式爲true。
如果您的應用程序包含多個表單,只需遍歷它們並檢查它們中的任何一個是否匹配GetForegroundWindow
。
0
上Remys響應的細微變化是:
Var
Win: TWinControl;
Begin
Win := FindControl(GetForegroundWindow);
if Win <> nil then
// StringGrid1.Row :=5;
// StringGrid1.SetFocus;
編譯OK的我,但我發現它不可靠的調試過程中,stringgrid.setfocus被稱爲即使窗口ISN」重點導致一個錯誤。
3
D2007具有這種有用的屬性
if Application.Active then
//
相關問題
- 1. 檢查SWF是否有焦點
- 2. 檢查DOM元素是否有焦點
- 3. 檢查對象是否有焦點
- 4. 如何檢查用戶是否在我的iPhone應用程序
- 5. 檢測應用程序是否因UILocalNotification而引起焦點
- 6. 如果我的應用程序已具有焦點,如何檢測新的Intent?
- 7. 如何檢查我的fb應用程序是否被禁止?
- 8. 我如何檢測一個Flex應用程序失去焦點
- 9. Selenium IDE:如何檢查元素是否有焦點?
- 10. 如何檢查窗口是否有焦點?
- 11. c#檢測應用程序的焦點丟失焦點
- 12. 如何檢查應用程序是否有權訪問目錄?
- 13. 如何檢查我的應用程序是否爲默認啓動程序
- 14. 如何繼續檢查我的Swift應用程序是否具有Internet連接?
- 15. 檢查窗口是否失去焦點
- 16. 檢查輸入框是否爲焦點
- 17. 如何檢查我的程序是否有數據傳入它
- 18. Qt - 如何檢測應用程序的焦點
- 19. 有什麼辦法檢查Silverlight中的DataGrid是否有焦點?
- 20. 檢測我程序焦點的變化
- 21. 如何檢測應用程序何時失去焦點?
- 22. 檢測輸入是否有焦點
- 23. 檢查用戶是否已安裝我的Facebook應用程序
- 24. 檢查Facebook用戶是否喜歡我的應用程序
- 25. PHP-SDK:檢查用戶是否授權我的應用程序
- 26. Graph Api:如何檢查用戶是否正在使用我的應用程序
- 27. 如何在Qt 4.4.1中檢測應用程序級別焦點?
- 28. VSTO:應用程序焦點
- 29. 如何檢查用戶是否安裝了應用程序?
- 30. 如何檢查用戶是否喜歡facebook應用程序?