public void SendMessage(IntPtr hWnd,KeyboardEvents events,byte key)
{
int v = 1;
int msg = 0;
if (events == KeyboardEvents.KeyDown)
{
int t = (int)MapVirtualKey(key, 0);
t = t << 16;
v = v | t;
t = 010;
t = t << 29;
v = v | t;
//
msg = WM_KEYDOWN;
}
else if (events == KeyboardEvents.KeyUp)
{
int t = (int)MapVirtualKey(key, 0);
t = t << 16;
v = v | t;
t = 111;
t = t << 29;
v = v | t;
//
msg = WM_KEYUP;
}
SendMessage(hWnd,(uint)msg, key, v);
}
上面代码是发送按键消息的函数 if (ctrl)
{
SendMessage(_Form.Handle, KeyboardEvents.KeyDown, (byte)Keys.ControlKey);
}
if (alt)
{
SendMessage(_Form.Handle, KeyboardEvents.KeyDown, (byte)Keys.Menu);
}
SendMessage(_Form.Handle, KeyboardEvents.KeyDown,key);
上面是发送按键消息,但是组合键无法实现,请问如何实现,在线等。
解决方案 »
- C# 子類與父類相互轉換的問題
- 求解
- 窗口赋值
- 怎样用InstallShield 2008让已经打包进去.netframework自动安装呢?
- 请问多界面的windows应用程序是什么思路?
- a调用了b中的一个方法c,a中想传递一个参数给b,让b停止执行c 如何实现
- 设计一个windows应用程序,在该程序中定义一个学生类和一个班级类,以处理每个学生的学号、姓名、语文、英语、数学成绩。
- Visual Studio.NET2003有三G多,我要都下吗?
- 谁知道那里有微软发布的p2p的开发包下载
- 我想调用其它的软件,给它发快捷键消息,实现一些功能
- WPF DataGrid, 点击按钮允许添加,添加一行后马上禁止添加
- 如何在另一个文件中调用命名空间里定义的变量
到网上找一个这个api的用法呗
好像有个叫sendkeys()api
吧。记不太清了,你可以找找看