分享

【新提醒】【U3D如何调用Win10的触摸键盘Touch KeyBoard非屏幕键盘(OSK.exe)】

 鸿蛟家平 2019-06-24
[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; 
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多