java - On Screen keyboard in Windows 8 tablet -
using code snippet, starting on screen keyboard process through focus gained event java swings.
string sysroot = system.getenv("systemroot"); process proc = runtime.getruntime().exec("cmd /c " + sysroot + "/system32/osk.exe");
when focus lost, key board should close. used proc.destroy()
implement that. implementation behaving abnormally in windows 8 tablet. opening key board on focus, not closing when focus lost. running program eclipse.
the same implementation worked windows 7 desktop. change is, did not specify cmd /c
in windows 7. win 8, not opening key board, if don't give cmd /c
please suggest solution this.
this worked me (java & eclipse rcp):
text.addfocuslistener(new focuslistener() { @override public void focuslost(focusevent arg0) { logutil.loginfo("closing osk"); try { if(settings.getboolean(settings.osk_usetabtip)) { runtime.getruntime().exec("cmd /c taskkill /im tabtip.exe"); } else { runtime.getruntime().exec("cmd /c taskkill /im osk.exe"); } } catch (ioexception e) { logutil.logerror(e.tostring()); } } @override public void focusgained(focusevent arg0) { try { string sysroot = system.getenv("systemroot"); if(settings.getboolean(settings.osk_usetabtip)) { logutil.loginfo("opening tabtip"); processbuilder pb = new processbuilder("c:/pathtotabtip/tabtip.exe"); pb.start(); } else { logutil.loginfo("opening osk"); processbuilder pb = new processbuilder(sysroot + "/system32/osk.exe"); pb.start(); } } catch (exception e) { logutil.logerror(e.tostring()); } } });
Comments
Post a Comment