回答
没有真正的跨平台方式来做到这一点。流程,应用程序等的整个概念是操作系统特定的概念。如果您使用某个库来解决问题,那么您并不是真正跨平台的,只限于该库支持的平台。例如。 Qt不是通用的跨平台,它运行在很多平台上,但不是在每个已知的平台上运行,在不运行的平台上运行,Qt解决方案将无法运行。大多数类似平台的UNIX平台都支持POSIX API(更多,更少一些),如果您仅限于使用POSIX函数,则该解决方案可在Linux,BSD,Mac OS X,Solaris和类似操作系统中使用。但它不能在Windows上工作。微软决定放弃POSIX支持(不是说他们的POSIX支持很好),但是Cygwin将Windows支持POSIX(Cygwin在Windows之上模拟一个完整的Linux glibc API)。问题是,即使POSIX没有真正提供一组函数来解决你的问题 - 比如像BSD系统,一个像ps这样的POSIX工具如何获得进程信息的方式在Linux系统上完全不同。
第二个问题是你说的是“焦点”。重点是不适用于应用程序的东西。没有UI和没有窗口的后台应用程序不能有“焦点”。对于这样的应用程序,“关注”意味着什么?因此,您对正在运行的应用程序列表并不感兴趣,但是却在运行UI应用程序的列表中,这些应用程序具有窗口并且其窗口可能成为焦点。一个完全不同的东西。 Windows系统在不同的平台之间更加不同,POSIX完全忽略了UI。
此外,您的问题上还有一个Visual-C++标记,因此跨平台必须如何确保代码的真实性,因为Visual-C++只是Windows的一件事情,不是吗?您真正想要支持哪些平台(请相应地更新您的问题),因为我怀疑除了为每个支持的平台编写不同的代码之外,还有什么更好的解决方案。
第一:应用程序没有焦点;窗户做。其次:一些窗户不会接受焦点。所以,我不认为这是可能的。
- 1. 获取所有正在运行的应用程序的列表
- 2. 安全,在程序中运行gcc的跨平台方式
- 3. 跨平台获取可用字体列表的方式?
- 4. 跨平台应用程序
- 5. 是否有从Python的OSError获取信息的跨平台方式?
- 6. 是否有跨平台的方式获取.net核心中的java路径?
- 7. PHP:在后台运行一个java程序的跨平台方式
- 8. 跨平台获取可用字体列表的方法
- 9. 如何在iPhone平台上获取应用程序列表?
- 10. iOS 8 - 如何确定前台应用程序以及获取正在运行的应用程序列表
- 11. 什么是获取当前目录的跨平台方式?
- 12. 是否有一种跨平台的方式来访问JSP servlet?
- 13. 创建跨平台运行时AIR应用程序
- 14. 是否可以使用applet获取正在运行的进程的列表?
- 15. 将Cocoa应用程序变成跨平台的应用程序?
- 16. netbeans平台应用程序中是否有更好的方式获取项目类型?
- 17. 获取在前台运行的应用程序的名称:android
- 18. 跨平台的方式来获取图标的Firefox的exe
- 19. 如何获取正在运行的应用程序与GTK的列表?
- 20. 返回iOS中正在运行的后台应用程序/进程的列表
- 21. 蟒蛇跨平台应用程序
- 22. Xamarin跨平台iOS应用程序
- 23. 跨平台桌面应用程序
- 24. 以编程方式向后台发送正在运行的应用程序
- 25. 获取正在运行的metro应用程序的进程ID
- 26. 在python中是否有跨平台的方式来确定哪个进程正在侦听给定的端口?
- 27. 获取正在运行的进程列表,获取活动进程(和它的应用程序)的Flex/AIR
- 28. 是否有任何跨平台的方式来验证xml在JavaScript中的xsd?
- 29. 获取正在运行的应用程序列表(从AppleScript翻译?)
- 30. 微软是否提供任何方式来获取在Windows Phone 8下正在运行的进程列表?