使用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来
展开
 我来答
yaobing0687
2011-03-05 · TA获得超过988个赞
知道小有建树答主
回答量:1309
采纳率:0%
帮助的人:902万
展开全部
在触发事件中:(如你说的就是:Form1_Activated事件)
SendKeys.Send("B");
SendKeys.Flush();
但是这个SendKes已经不能触发默认的键盘事件了(当然自己可以写个函数来处理),但用来输入还是可以的(比如输入密码的小键盘之类的)
更多追问追答
追问
SendKeys 无法在此应用程序内运行,原因是此应用程序不处理 Windows 消息。可以将此应用程序更改为可处理消息,或者使用 SendKeys.SendWait 方法。但是不能区分按下还是弹起
追答
最直接的办法就是自定义事件,用委托处理
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式