您的位置:首页 > 编程语言 > C#

[C#]C#如何获取\设置键盘按键状态

2012-12-06 09:44 2301 查看
[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "GetKeyState")]
public static extern int GetKeyState(
int nVirtKey // Long,欲测试的虚拟键键码。对字母、数字字符(A-Z、a-z、0-9),用它们实际的ASCII值
);

public const int KEYEVENTF_KEYUP = 0x02;
[System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "keybd_event")]
public static extern void keybd_event(
byte bVk,       // Byte,欲模拟的虚拟键码
byte bScan,     // Byte,键的OEM扫描码
int dwFlags,    // Long,零;或设为下述两个标志之一 KEYEVENTF_EXTENDEDKEY 指出是一个扩展键,而且在前面冠以0xE0代码 KEYEVENTF_KEYUP 模拟松开一个键
int dwExtraInfo // Long,通常不用的一个值。api函数GetMessageExtraInfo可取得这个值。允许使用的值取决于特定的驱动程序
);

private bool GetKeyState(System.Windows.Forms.Keys keys)
{
return ((GetKeyState((int)keys) & 0x8000) != 0) ? true : false;
}

private void button1_Click(object sender, RoutedEventArgs e)
{
keybd_event((byte)System.Windows.Forms.Keys.D, 0, 0, 0);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C#