使用C#,实现键盘的按键功能 15
我是到可以使用sendMessage或postMessage实现,但是具体不清楚。如果可以就直接从keys.keyname开始,一直到发送信息。我想的是模拟顶层窗口的按键...
我是到可以使用sendMessage或postMessage实现,但是具体不清楚。
如果可以就直接从keys.keyname开始,一直到发送信息。我想的是模拟顶层窗口的按键。
例如现在我不知道顶层窗口的名字是什么(只知道鼠标给了它焦点),但是我要用代码实现在这个窗口上按一下A的动作。
或者也可以说是把按键信息发送到当前焦点的控件
一般的只是发送可以使用Sendkeys.sendwait实现
在使用sendkeys.sendwait方法发送的字符串要注意msdn上的什么回车键的字符格式
mshelp://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.chs/CPref17/html/M_System_Windows_Forms_SendKeys_Send_1_16219e3a.htm
但是还要区分键的按下和弹起就不能使用这个了。。。
sendmessage可以实现,SendMessage(textBox1.Handle, 0x0100, 65, 0);是向textbox1发送一个A的方法。这个方法发送到文本框中会被捕捉到发送的信息,即使e.KeyData都能捕获到A,但是就是无法在文本框中显示出A来 展开
如果可以就直接从keys.keyname开始,一直到发送信息。我想的是模拟顶层窗口的按键。
例如现在我不知道顶层窗口的名字是什么(只知道鼠标给了它焦点),但是我要用代码实现在这个窗口上按一下A的动作。
或者也可以说是把按键信息发送到当前焦点的控件
一般的只是发送可以使用Sendkeys.sendwait实现
在使用sendkeys.sendwait方法发送的字符串要注意msdn上的什么回车键的字符格式
mshelp://MS.VSCC.v80/MS.MSDN.v80/MS.NETDEVFX.v20.chs/CPref17/html/M_System_Windows_Forms_SendKeys_Send_1_16219e3a.htm
但是还要区分键的按下和弹起就不能使用这个了。。。
sendmessage可以实现,SendMessage(textBox1.Handle, 0x0100, 65, 0);是向textbox1发送一个A的方法。这个方法发送到文本框中会被捕捉到发送的信息,即使e.KeyData都能捕获到A,但是就是无法在文本框中显示出A来 展开
1个回答
展开全部
在触发事件中:(如你说的就是:Form1_Activated事件)
SendKeys.Send("B");
SendKeys.Flush();
但是这个SendKes已经不能触发默认的键盘事件了(当然自己可以写个函数来处理),但用来输入还是可以的(比如输入密码的小键盘之类的)
SendKeys.Send("B");
SendKeys.Flush();
但是这个SendKes已经不能触发默认的键盘事件了(当然自己可以写个函数来处理),但用来输入还是可以的(比如输入密码的小键盘之类的)
更多追问追答
追问
SendKeys 无法在此应用程序内运行,原因是此应用程序不处理 Windows 消息。可以将此应用程序更改为可处理消息,或者使用 SendKeys.SendWait 方法。但是不能区分按下还是弹起
追答
最直接的办法就是自定义事件,用委托处理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询