![]() |
ToASCII - C#
У меня есть окно в которое нужно посылать через функцию PostMessage строки текста, но проблема в том что например если я посылаю строку "ПРИВЕТ" то приходит "привет" либо "ghbdtn" в зависимости от расклада клавиатуры в окне. например если мне нужен символ ) приходит 9.
|
на Delphi
Дело в том, что когда мы посылаем какие то сообщение окну, в данном случае мы отсылаем какой то символ, нужно обязательно воспользоваться функциями MapVirtualKey, OemKeyScan, чтобы потом в lParam, записать нужный нам скан-код клавиши. Следующий код реализует этот механизм, причем учитывается, даже нажатый shift, ctrl Код:
procedure SendShift(H: HWnd; Down: Boolean); |
Я раньше изучал delphi только на простом уровне. Word shl 16 - не понятно что это + как вообще используется в переменной or или and.
|
shl - логический сдвиг влево (на с++ = <<)
shr - соответвенно вправо (>>) Word shl 16 = word << 16 |
Цитата:
|
Короче надо с кодировкой разбираться
MSDN class System.Text.Encoding |
Я вот начал переводить только не очень получается. Можете не много помочь тут сказано что к операндам типа int нельзя применять && ||.
Код:
[DllImport("user32")] |
Цитата:
Цитата:
нельзя применять -> В сферический вакууме нельзя немного пишется слитно |
Вот класс который я составил:
Код:
class KeyboardHookбитовый снов используется. Кому не трудно распишите. Кто-нибудь может показать как эти строки на C# буду выглядеть? Код:
Ctrl:= (ConvKey and $00040000) <> 0; |
| Время: 05:45 |