C#中keybd_event实例(键盘钩子模拟按键)
2011-12-03 22:17 Andrew.Wangxu 阅读(1605) 评论(0) 编辑 收藏 举报这段代码实现了模拟多媒体键盘的播放、停止、下一曲、上一曲的代码:
引用命名空间:
using System.Runtime.InteropServices;
完整代码:
static class KeyHook
{
[DllImport("user32.dll", EntryPoint = "keybd_event")]
public static extern void keybd_event(
byte bVk, //虚拟键值
byte bScan,// 一般为0
int dwFlags, //这里是整数类型 0 为按下,2为释放
int dwExtraInfo //这里是整数类型 一般情况下设成为0
);
#region 模拟按键
public static void Play()
{
keybd_event(179, 0, 0, 0);
keybd_event(179, 0, 2, 0);
}
public static void Stop()
{
keybd_event(178, 0, 0, 0);
keybd_event(178, 0, 2, 0);
}
public static void Last()
{
keybd_event(177, 0, 0, 0);
keybd_event(177, 0, 2, 0);
}
public static void Next()
{
keybd_event(176, 0, 0, 0);
keybd_event(176, 0, 2, 0);
}
#endregion
}
关于keybd_event的第一个参数,请参考“虚拟键码对照表与ASCII对照表的整理”:
http://www.cnblogs.com/andrew-blog/archive/2011/12/03/CSharp_ASCII.html