我正在使用Windows 7上的java.awt.Robot
处理Java中的自定义远程桌面。除了以管理员身份运行命令提示符之外,它还有效。将显示UAC对话框,但是使用mousePress()
/ mouseRelease()
的“是”按钮不接受按钮点击,也不会使用keyPress()
/ keyRelease()
进行按键操作。该应用程序通过启动器中的launch4j启动器启动而不是环绕模式。
到目前为止我做过的事情
为UAC禁用安全桌面。这允许应用程序的屏幕抓取器部分至少“看到”提示
关注Security Considerations for Assistive Technologies - 这允许远程桌面在启动后与命令提示符进行交互,但不允许按“是”按钮。
问题
Launch4j清单文件
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="true" />
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
答案 0 :(得分:2)
简短回答,是的。
应用注册表修复程序 注册表修复
[HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的Windows \ CurrentVersion \ SideBySide] “PreferExternalManifest”= DWORD:00000001
触摸javaw.exe以更新修改时间戳 - 否则不会更改更改 - 可以使用“copy / b javaw.exe + ,,”参见Windows equivalent of the Linux command 'touch'?
< / LI>