我需要能够跟踪用户与其计算机上运行的不同应用程序交互的程度。在我看来合乎逻辑的做法是保留带有时间戳的窗口焦点事件日志,它会告诉您一天中哪些应用程序处于焦点状态。
在这个应用程序中,我们还有一些其他事情要做,这些事情在 Java 中会很简单。但是我没有用 Java 进行任何 GUI 编程,所以我不确定是否可以通过 awt API 获取有关操作系统级窗口的信息。这可能吗?是否有另一种方法可以通过 JNI 执行此操作,或者是否需要 native 应用程序来执行此操作?
PS:我知道这个要求听起来有点邪恶,但我来这里只是为了确定这在技术上是否可行。请不要射杀信使,这不是我的主意。 :)
最佳答案
焦点事件可能有效;您可能还想考虑 Windows keyboard and mouse hooks .使用这些方法中的任何一种,您都需要创建一个 DLL( native 代码)并使用 JNI 来访问它。
关于java - 在 Java 中跟踪操作系统级别的窗口事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/604541/