在Java中是否有任何方法,如果我在后台运行Java应用程序,每当我点击某个应用程序时,我都可以获得它的名称
这个Java程序应该在用户不知情的情况下在后台运行,并将应用程序名称发送到远程服务器。
虽然我质疑这样做的动机,但这在Java API的范围内是不可能的。您需要使用JNI与底层操作系统接口,或者调用可以为您提供这些细节的外部程序。
我写了一个时间跟踪应用程序,它在白天做了类似的事情,记录我在各种项目/应用程序上的时间。这个想法是在本地跟踪我的应用程序使用情况,并使用POST请求到web服务器进行集中日志记录。我也可以在任何我想要的机器上运行这个应用程序,并且POST请求仍然会返回到中央服务器,所以我可以在多台机器上跟踪我自己的活动。
你可以使用JNI绑定到Win32 API,它可以让你访问窗口标题,进程信息等。
这个问答应该让你开始:如何使用JNI或JNA读取窗口标题?
在某个地方(我现在找不到它)有一个.JAR
在网络上包装win32 API,使这种功能在Java中非常简单。