C# 通过Process.Start(@“C:\Windows\System32\osk.exe“)调用系统软键盘,提示无法找到文件路径解决方法

编程入门 行业动态 更新时间:2024-10-28 02:29:17

C# 通过Process.Start(@“C:\Windows\System32\osk.exe“)调用系统软键盘,提示无法找到文件路径<a href=https://www.elefans.com/category/jswz/34/1770089.html style=解决方法"/>

C# 通过Process.Start(@“C:\Windows\System32\osk.exe“)调用系统软键盘,提示无法找到文件路径解决方法

在Window10、Window11中,通过文件资源管理器打开C:\Windows\System32\osk.exe路径可以打开软键盘,但是无法在C#中,通过Process.Start(@"C:\Windows\System32\osk.exe")对软件盘进行调用。

 

有以上困扰的朋友可以尝试下面的代码,亲测有效!!!

using System.Runtime.InteropServices;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);//在需要触发软件盘的函数中,放入try中的内容
private void button_keyborad_Click(object sender, EventArgs e){try{//判断软键盘是否进程是否已经存在,如果不存在进行调用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);}}catch{MessageBox.Show("软键盘打开异常,请联系系统管理员!");}}

神奇的是,竟然打开了  哈哈哈。

更多推荐

C# 通过Process.Start(@“C:\Windows\System32\osk.exe“)调用系统软键盘,提示无法找到文件路径解决方法

本文发布于:2024-02-12 22:59:26,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1689732.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:解决方法   路径   键盘   提示   文件

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!