unity开发之二:调用电脑外部键盘osk

今天领导突然说项目需要调用外部键盘很急,然后我匆匆忙忙的写了这个功能,遇到很多蛋疼的地方,记录下来!
第一步:
管理员模式打开unity:
我们需要使用管理员模式打开unity,不然osk.exe是电脑内置的程序,不使用管理员是无法调取的!
第二步:
调取代码:

Process[] process;
process = Process.GetProcesses();
        foreach (var p in process)
        {
            if (p.ProcessName == "osk")
            {
                if (!p.HasExited)
                {
                    return;
                }                
            }
        }
        System.Diagnostics.Process  pro = System.Diagnostics.Process.Start("osk.exe");        

这段代码的前面是判断当前的osk是否处于打开状态,如果是打开就不要再次打开了,否则开了很多虚拟键盘,有bug,后面则是打开osk.exe
第三步:
关闭虚拟键盘:

        Process[] process;
        process = Process.GetProcesses();
        foreach (var p in process)
        {
            if (p.ProcessName == "osk")
            {
                if (!p.HasExited)
                {
                    p.Kill();
                }

                return;
            }
        }

遍历进程列表,找到osk的进程,然后关闭Kill
第四步:
运行:
点击项目图标,以管理员模式运行

你可能感兴趣的:(Unity3d学习旅程)