C # Имитация нажатия клавиш - PullRequest
       11

C # Имитация нажатия клавиш

3 голосов
/ 05 сентября 2011

Я искал способ имитировать нажатие правой клавиши Ctrl в C #, она должна быть правильной.Я знаю, что это можно сделать для левого, но я не смог найти ничего на правом.Я могу смоделировать нажатие клавиши для запуска bsod вручную.

Спасибо

Ответы [ 3 ]

14 голосов
/ 05 сентября 2011

Вы можете использовать событие keybd_event для имитации нажатия правой клавиши Ctrl .

[DllImport("user32.dll", SetLastError = true)]
static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo); 

public const int KEYEVENTF_EXTENDEDKEY = 0x0001; //Key down flag
public const int KEYEVENTF_KEYUP = 0x0002; //Key up flag
public const int VK_RCONTROL = 0xA3; //Right Control key code

Использование:

keybd_event(VK_RCONTROL, 0, KEYEVENTF_EXTENDEDKEY, 0);
keybd_event(VK_RCONTROL, 0, KEYEVENTF_KEYUP, 0); 

Для других имитаций ключей вот список кодов виртуальных ключей .

3 голосов
/ 05 сентября 2011

Возможно, вам повезет с Windows Input Simulator http://inputsimulator.codeplex.com/

1 голос
/ 05 сентября 2011

Если вы используете AutoHotKey, попробуйте поискать здесь . с {RControl} вы должны получить то, что вы хотите

Обновление: для .NET попробуйте поискать это для получения дополнительной информации, но AFAIK вы не можете отправить правую клавишу Ctrl думаю, вы должны использовать win32 для достижения этого

...