生活随笔
收集整理的這篇文章主要介紹了
C# win10系统调用不了系统自带的软键盘osk.exe
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
- 有的win10系統(tǒng)可以調(diào)用windows自帶的軟鍵盤osk,有的win10系統(tǒng)調(diào)用不了。
- 原因是win10系統(tǒng)是64位的,但是osk.exe是32位的軟件。。。。
- 使用下面的代碼,就可以實現(xiàn)調(diào)用osk…親測有效。。。。。
public class StartKeyBoard{public static bool isShowNumBoard
= false;[DllImport("kernel32.dll", SetLastError
= true)]public static extern bool
Wow64DisableWow64FsRedirection(ref IntPtr ptr
);[DllImport("kernel32.dll", SetLastError
= true)]public static extern bool
Wow64RevertWow64FsRedirection(IntPtr ptr
);public static void StartKeyBoardFun(){Process
[] pro
= Process
.GetProcessesByName("osk");if (pro
!= null
&& pro
.Length
> 0)return;IntPtr ptr
= new IntPtr();bool isWow64FsRedirectionDisabled
= Wow64DisableWow64FsRedirection(ref ptr
);if (isWow64FsRedirectionDisabled
){Process
.Start(@
"C:\WINDOWS\system32\osk.exe");bool isWow64FsRedirectionReverted
= Wow64RevertWow64FsRedirection(ptr
);}}
- 有的軟件既要在win10系統(tǒng)上運行,又要在win7系統(tǒng)上運行
- 使用上面的調(diào)用方法,win7系統(tǒng)調(diào)用可能會有問題,因此win7的時候用Tabtip軟鍵盤比較可靠
- 所以就判斷windows系統(tǒng)的版本,使用下面的這段代碼
public class StartKeyBoard{public static bool isShowNumBoard
= false;[DllImport("kernel32.dll", SetLastError
= true)]public static extern bool Wow64DisableWow64FsRedirection(ref IntPtr ptr
);[DllImport("kernel32.dll", SetLastError
= true)]public static extern bool Wow64RevertWow64FsRedirection(IntPtr ptr
);public static void StartKeyBoardFun(){string path
= "C:/Program Files/Common Files/microsoft shared/ink/TabTip.exe";if (File
.Exists(path
)){Process p
= Process
.Start(path
);}else{Process
[] pro
= Process
.GetProcessesByName("osk");if (pro
!= null && pro
.Length
> 0)return;IntPtr ptr
= new IntPtr();bool isWow64FsRedirectionDisabled
= Wow64DisableWow64FsRedirection(ref ptr
);if (isWow64FsRedirectionDisabled
){Process
.Start(@"C:\WINDOWS\system32\osk.exe");bool isWow64FsRedirectionReverted
= Wow64RevertWow64FsRedirection(ptr
);}}}}
總結
以上是生活随笔為你收集整理的C# win10系统调用不了系统自带的软键盘osk.exe的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。