2015-10-14 2 views
3

Я пытаюсь отправить правильный сдвиг + Ctrl к моему RichTextBox. Но по умолчанию он отправляет левые клавиши.Имитация правой Shift + Ctrl с SendKeys.Send()

SendKeys.Send("^+"); 

Есть в любом случае для имитации правой сдвиг + Ctrl?

+0

'{RShift} +' должны работать правильно? – kevintjuh93

+0

@ kevintjuh93 '{RSHIFT}' throws 'Ключевое слово" RSHIFT "недействительно.' –

+0

Это странно, по нескольким источникам он должен работать. В любом случае, вам, вероятно, понадобится «PostMessage». Можете ли вы также сказать, почему вам нужно отправить эти ключи в RTB? – kevintjuh93

ответ

0

Да, вы можете, вы можете проверить Virtual-Key Codes где код для правой клавиши сдвига и правой клавиши управления является

VK_RSHIFT 0xA1 
VK_RCONTROL 0xA3 

Так что вы можете сделать, как

public const int VK_RSHIFT = 0xA1; 
public const int VK_RCONTROL= 0xA3; 

или

Вы можете попробовать следующее:

SendKeys.Send(VirtualKeyCode.VK_RSHIFT); 

или же вы можете использовать Keys Enumeration

Определяет ключевые коды и модификаторы.

, который определяет

RShiftKey для правой клавиши сдвига и RControlKey для правой клавиши управления.

или прокомментирован kevintjuh93

SendKeys.Send("^({RSHIFT}+)") 
+0

У вас нет класса 'Keys' в C#? – kevintjuh93

+0

Итак, как мне отправлять ключи с этими кодами. что-то вроде 'SendKeys.Send (« 0xA1 »+« 0xA3 »);'? –

+0

@ kevintjuh93: - Да, есть, обновил мой ответ. –

Смежные вопросы