在Java中有什么办法,如果我在后台运行我的Java应用程序,每当我点击某个应用程序时,我都可以得到它的名称。
此Java程序应在不知情的情况下在后台运行,并将应用程序名称发送到远程服务器。
答案 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中变得非常简单。