通过Java打开屏幕键盘(Windows 7 64位)双击应用程序

时间:2015-09-08 11:30:22

标签: java windows runtime.exec on-screen-keyboard

我的Java应用程序中有以下代码:

boolean is64 = System.getProperty("os.arch").contains("64");
String oskPath = is64 ? "/SysWOW64/osk.exe" :"/system32/osk.exe";

Desktop desktop = null;
if (Desktop.isDesktopSupported()) {
    desktop = Desktop.getDesktop();
}
String sysroot = System.getenv("SystemRoot");
try {
    System.out.println("SysArch "+System.getProperty("os.arch")+ " " +is64);
    desktop.open(new File(sysroot + oskPath));

它会调用Windows的屏幕键盘。当我在Windows 64位上运行.jar时没关系,但是当我运行.exe时它不起作用。 我试过这个:

Runtime.getRuntime().exec("cmd /c " + sysroot + oskPath);

和此:

Runtime.getRuntime().exec("osk");

但同样的事情发生了。我创建.exe whith launch4j,我试图将.bat(谁运行.jar)转换为.exe但没有发生任何事情。有人可以帮忙吗?提前谢谢。

0 个答案:

没有答案