游戏蛮牛学习群(纯技术交流,不闲聊):159852603
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

教程分享

关注:786

当前位置:游戏蛮牛 技术专区 教程分享

查看: 575|回复: 4

[入门教程] U3D如何调用Win10的触摸键盘Touch KeyBoard非屏幕键盘(OSK.exe)

[复制链接]  [移动端链接]
3偶尔光临
168/300
排名
27523
昨日变化
23

1

主题

27

帖子

168

积分

Rank: 3Rank: 3Rank: 3

UID
79211
好友
0
蛮牛币
79
威望
0
注册时间
2015-3-12
在线时间
129 小时
最后登录
2018-9-21
发表于 2018-6-2 11:07:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
本帖最后由 姚灵 于 2018-6-2 11:09 编辑

最近一个项目要用到Windows的触摸键盘的功能,试过OSK屏幕键盘总感觉不怎么好用,试了下Win10自带的TabTip触摸键盘发现比较符合要求。这里贴上U3D呼出和隐藏触摸键盘Touch KeyBoard也就是TabTip.exe的方法,win8理论上也可以用
[C#] 纯文本查看 复制代码
[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;  
}  





回复

使用道具 举报

7日久生情
1576/5000
排名
18908
昨日变化
627

4

主题

758

帖子

1576

积分

Rank: 7Rank: 7Rank: 7Rank: 7

UID
63377
好友
0
蛮牛币
81
威望
0
注册时间
2014-12-24
在线时间
786 小时
最后登录
2018-9-21
发表于 2018-6-3 13:40:34 | 显示全部楼层
很不错哦狠厉等哈儿维吾尔

回复 支持 反对

使用道具 举报

5熟悉之中
515/1000
排名
5300
昨日变化
32

0

主题

124

帖子

515

积分

Rank: 5Rank: 5

UID
226548
好友
0
蛮牛币
16
威望
0
注册时间
2017-6-13
在线时间
141 小时
最后登录
2018-9-21
发表于 2018-6-5 18:01:04 | 显示全部楼层
he呵呵呵呵呵呵呵呵呵呵呵呵呵呵

回复 支持 反对

使用道具 举报

4四处流浪
429/500
排名
8050
昨日变化
3

0

主题

223

帖子

429

积分

Rank: 4

UID
281167
好友
1
蛮牛币
848
威望
0
注册时间
2018-5-14
在线时间
64 小时
最后登录
2018-8-21
发表于 2018-7-11 22:08:55 | 显示全部楼层
感谢分享

回复

使用道具 举报

4四处流浪
429/500
排名
8050
昨日变化
3

0

主题

223

帖子

429

积分

Rank: 4

UID
281167
好友
1
蛮牛币
848
威望
0
注册时间
2018-5-14
在线时间
64 小时
最后登录
2018-8-21
发表于 2018-7-11 22:09:58 | 显示全部楼层
感谢分享

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

关闭

站长推荐 上一条 /1 下一条

快速回复 返回顶部 返回列表