MFC VC++ 開啟系統軟鍵盤
阿新 • • 發佈:2020-12-15
1.開啟系統自帶的 osk.exe
參考
32位系統不管win7 win10 直接開啟
64位系統不管win7 win10 都要禁用呼叫執行緒的檔案系統重定向,預設情況下啟用檔案系統重定向
//win10 64位測試正常 PVOID OldValue = NULL; BOOL bRet = Wow64DisableWow64FsRedirection(&OldValue);//用回32位檔案系統 //ret = WinExec("osk.exe", SW_SHOW); //這個打不開 一直返回0 hNewExe = ShellExecute(NULL, _T("open"), _T("osk.exe"), NULL, NULL, SW_SHOW); if (bRet) { Wow64RevertWow64FsRedirection(OldValue);//用回64位檔案系統 }
2.第二種方法是開啟TabTip.exe
參考
這是win10 增加的軟鍵盤,路徑是 C:\Program Files\Common Files\microsoft shared\ink\TabTip.exe
1 hNewExe = ShellExecute(NULL, _T("open"), _T("C:\\Program Files\\Common Files\\microsoft shared\\ink\\TabTip.exe"), NULL, NULL, SW_SHOW);
測試當TabTip.exe程序是關閉狀態時,才能正常呼叫,當這個程序是正在執行狀態時,返回值正常,但鍵盤不能顯示出來
這個程序在工作管理員中是 "觸控鍵盤和手寫面板";且是開機啟動的程序,服務是 tabletInputService
這個解決辦法應該是查詢程序,關閉程序,再啟動程序