获取单击的应用程序/活动窗口的名称

时间:2011-11-23 15:00:18

标签: java event-handling mouseevent

在Java中有什么办法,如果我在后台运行我的Java应用程序,每当我点击某个应用程序时,我都可以得到它的名称。

此Java程序应在不知情的情况下在后台运行,并将应用程序名称发送到远程服务器。

2 个答案:

答案 0 :(得分:1)

虽然我质疑其动机,但在Java API的范围内这是不可能的。您需要使用JNI与底层操作系统进行交互,或者调用可以为您提供这些详细信息的外部程序。

答案 1 :(得分:0)

我写了一个时间跟踪器应用程序,它在当天做了类似的事情,跟踪我如何花时间在各种项目/应用程序等等。我的想法是在本地跟踪我的应用程序使用情况,并使用POST请求用于集中日志记录的Web服务器。我也可以在我想要的任何机器上运行这个应用程序,POST请求仍然会返回到中央服务器,所以我可以在多台机器上跟踪自己的活动。

您可以使用JNI绑定到Win32 API,然后可以访问Window标题,处理信息等。

这个Q / A应该让你开始: How can I read the window title with JNI or JNA?

某个地方(我现在找不到)网上有一个包含win32 API的.JAR,这使得这种功能在Java中变得非常简单。