windows – 如何确定进程是否是当前活动/前台应用程序
发布时间:2020-12-14 04:26:54 所属栏目:Windows 来源:网络整理
导读:我希望能够查询一些函数并给它一个processID或processName – 然后它应该返回true或false,因为该进程是否在前台. 因此,对Firefox的查询将返回true(因为现在我在FireFox中,键入此内容),其他所有内容都应返回false. 对于每种类型的应用程序(.net,java / swing,
我希望能够查询一些函数并给它一个processID或processName – 然后它应该返回true或false,因为该进程是否在前台.
因此,对Firefox的查询将返回true(因为现在我在FireFox中,键入此内容),其他所有内容都应返回false. 对于每种类型的应用程序(.net,java / swing,纯c / win32-ui),这是否可能? >此问题仅适用于Windows. 解决方法
GetForegroundWindow和
GetWindowThreadProcessId应该让你获得这些信息.
即,如果你知道pid只是检查它对这样的函数: bool IsForegroundProcess(DWORD pid) { HWND hwnd = GetForegroundWindow(); if (hwnd == NULL) return false; DWORD foregroundPid; if (GetWindowThreadProcessId(hwnd,&foregroundPid) == 0) return false; return (foregroundPid == pid); } 这适用于在某种程度上使用核心Win32库的任何应用程序 – 这将包括Windows窗体,WPF,本机Win32应用程序等.请注意,这只适用于在调用桌面和会话上运行的应用程序 – 您可以’例如,使用它来确定另一个用户的应用程序是否在前台. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何在Windows中获取PCI区域大小?
- windows-server-2008 – 用于连接到不同服务器和域上的数据
- windows-server-2003 – RAID-1驱动器故障 – 丢失的数据是
- REPL挂在SublimeREPL for Clojure(Windows PC)
- .net – 我应该在Windows消息框中使用警告图标或问号图标吗
- wix – 为什么在使用MSI时限制文件部署到用户配置文件或HKC
- wix – 重新缓存的msi仍在运行旧的自定义操作
- Windows网络连接 – 字节或数据包?
- 如何在Windows中制作/比较文件系统/注册表快照?
- Windows命令行javascript
推荐文章
站长推荐
- active-directory – 如果没有Microsoft帐户,Win
- windows-phone-8 – NavigationService删除完整的
- windows-server-2008 – Windows 2008R2上的IIS
- 如何将多个.ico文件存储到.DLL文件中
- 如何在WDS部署的专门化传递期间运行PowerShell脚
- windows – 编写登录脚本最喜欢的语言是什么?为
- windows-vista – 存储vista安装程序中所有用户共
- windows-server-2008 – Windows 2008 R2上的低延
- 使用ansible在Windows中运行批处理文件
- 无法在Windows 7上安装PHPUnit_Invoker
热点阅读