我想要做的是检查我的应用程序是否有焦点,因为如果它不是,那么我会弹出一个警报窗口刚好在通知区域以显示一些消息给最终用户。如何检查我的应用程序是否有焦点?
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应用程序?