原文:
.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);
}
}
}