C# Winform编程如何向外部程序发送模拟按键空格键(按住一定的时间)

如题,我想想外部的程序发送按键空格,需要按住一段时间,外部程序为当前活动的窗口~~~按键精灵我当然知道,但是我编程序获得的数据不能在传给按键精灵吧。。。。2楼回答的让我很... 如题,我想想外部的程序发送按键空格,需要按住一段时间, 外部程序为当前活动的窗口~~~
按键精灵我当然知道,但是我编程序获得的数据不能在传给按键精灵吧。。。。
2楼回答的让我很无语,不知所云
展开
 我来答
wangpeng468
2010-09-14 · 超过22用户采纳过TA的回答
知道答主
回答量:68
采纳率:0%
帮助的人:74.8万
展开全部
模拟键盘我们用Keybd_event这个api函数,模拟鼠标按键用mouse_event函数。在VC里调用api函数是既简单又方便不过的事了。
首先介绍一下Keybd_event函数。Keybd_event能触发一个按键事件,也就是说回产生一个WM_KEYDOWN或WM_KEYUP消息。当然也可以用产生这两个消息来模拟按键,但是没有直接用这个函数方便。Keybd_event共有四个参数,第一个为按键的虚拟键值,如回车键为vk_return, tab键为vk_tab。第二个参数为扫描码,一般不用设置,用0代替就行第三个参数为选项标志,如果为keydown则置0即可,如果为keyup则设成“KEYEVENTF_KEYUP”,第四个参数一般也是置0即可。用如下代码即可实现模拟按下键,其中的XX表示XX键的虚拟键值,在这里也就是各键对应的键码,如’A’=65
keybd_event(65,0,0,0);
keybd_event(65,0,KEYEVENTF_KEYUP,0); ...
tianshikuqi8
2010-09-14 · TA获得超过1150个赞
知道小有建树答主
回答量:591
采纳率:0%
帮助的人:331万
展开全部
using System.Runtime.InteropServices;
02

03
引入键盘事件函数
04

05
[DllImport("user32.dll")]
06
public static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);
07
参数:
08

09
bVk:定义一个虚拟键码。键码值必须在1~254之间。
10

11
bScan:定义该键的硬件扫描码。
12

13
dwFlags:定义函数操作的名个方面的一个标志位集。应用程序可使用如下一些预定义常数的组合设置标志位。
14

15
KEYEVENTF_EXETENDEDKEY:若指定该值,则扫描码前一个值为OXEO(224)的前缀字节。KEYEVENTF_KEYUP:若指定该值,该键将被释放;若未指定该值,该键交被接下。dwExtralnfo:定义与击键相关的附加的32位值。
16

17
返回值:该函数无返回值。
18

19
备注:尽管keybd_event传递一个与OEM相关的硬件扫描码给系统,但应用程序不能用此扫描码。系统在内部将扫描码转换成虚拟键码,并且在传送给应用程序前清除键码的UP/down位。应用程序可以摸拟PRINTSCREEN键的按下来获得一个屏幕快照,并把它存放到剪切板中。若要做到这一点,则要将keybd_event的bVk参数置为VK_SNAPSHOT,bScan参数置为0(用以获得全屏快照)或hScan置为1(仅获得活动窗口的快照)。Windows CE:WindowsCE支持dwFlags参数附加的标志位。即使用KEYEVENTF_SILENT标志模拟击键,而不产生敲击的声音。Windows CE不支持KEYEVENTF_EXTENDEDKEY标志。
20

21

22

23
keybd_event(13, 0, 0, 0);//模拟发送回车消息
空格按键是类似的道理
你怎么不知道所云,都把代码发上来了还要干啥
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
菜芽芽
2010-09-14 · TA获得超过1236个赞
知道小有建树答主
回答量:1000
采纳率:100%
帮助的人:306万
展开全部
现在就有一个软件叫做按键精灵功能相当强大,其中就包括这个功能
你要是说要自己编程的话,偶没弄过额

按键精灵就可以做按键的功能啊,就不用再写程序了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友34e8c9af1
2010-09-14 · TA获得超过271个赞
知道小有建树答主
回答量:111
采纳率:0%
帮助的人:92万
展开全部
跨程序跨进程沟通是不是可以考虑pipe
学.NET 3天的新人推理飘过
如果不对,麻烦指正,如果太荒谬,请砸砖
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
星星浪漫色
2010-09-16 · TA获得超过759个赞
知道小有建树答主
回答量:334
采纳率:0%
帮助的人:197万
展开全部
SendKeys
http://msdn.microsoft.com/zh-cn/library/system.windows.forms.sendkeys(v=VS.80).aspx

这是链接 MSDN 的!
请注意 页面上黄色的部分

参考资料: 自己动手 丰衣足食

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式