天天看點

.net調用系統軟鍵盤(相容win7及win10)

原文:

.net調用系統軟鍵盤(相容win7及win10)

沒有什麼技術說明,也是查詢出來的,在此做記錄

public class StartKeyBoard

    {

        public static bool isShowNumBoard = false;

        [DllImport("kernel32.dll", SetLastError = true)]

        public static extern bool Wow64DisableWow64FsRedirection(ref IntPtr ptr);

        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);

                }

        }

    }

繼續閱讀