调用电脑触控键盘

[DllImport("user32")]  [/float][float=right][color=#4f4f4f][font="][size=16px]static extern IntPtr FindWindow(String sClassName, String sAppName);  
[DllImport("user32")]  
static extern bool PostMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);  
/// <summary>  
/// 显示屏幕键盘  
/// </summary>  
public void ShowTouchKeyboard()  
{  
    try 
    {  
        ExternalCall("C:\\Program Files\\Common Files\\Microsoft Shared\\ink\\tabtip.exe", null, false);  
    }  
    catch (Exception e)  
    {  
        UnityEngine.Debug.Log(e);  
    }  
}  
/// <summary>  
/// 隐藏屏幕键盘  
/// </summary>  
public void HideTouchKeyboard()  
{  
    try 
    {  
        uint WM_SYSCOMMAND = 274;  
        int SC_CLOSE = 61536;  
        IntPtr ptr = FindWindow("IPTip_Main_Window", null);  
        PostMessage(ptr, WM_SYSCOMMAND, SC_CLOSE, 0);  
    }  
    catch (Exception e)  
    {  
        UnityEngine.Debug.Log(e);  
    }  
}  
private static Process ExternalCall(string filename, string arguments, bool hideWindow)  
{  
    ProcessStartInfo startInfo = new ProcessStartInfo();  
    startInfo.FileName = filename;  
    startInfo.Arguments = arguments;  
    //隐藏控制台
    if (hideWindow)  
    {  
        startInfo.RedirectStandardOutput = true;  
        startInfo.RedirectStandardError = true;  
        startInfo.UseShellExecute = false;  
        startInfo.CreateNoWindow = true;  
    }  
    Process process = new Process();  
    process.StartInfo = startInfo;  
    process.Start();  
    return process;  
}

猜你喜欢

转载自blog.csdn.net/weixin_37744986/article/details/80608269