Вверх ↑
Этот топик читают: Гость
Ответов: 3889
Рейтинг: 362
#16: 2012-05-22 13:17:58 ЛС | профиль | цитата
В user32.dll есть функция ToAscii(), которая как раз и переводит виртуальный код и байт состояния функциональных клавиш в символ, соответствующий текущей включенной раскладке. Есть ещё ToAsciiEx(), в теории способная перевести в символ произвольно выбранной раскладки (по handle), включая русскую. Это к тому, что нужно писать на IC, таких компонентов, на сколько мне известно, штатно в этом пакете нет, возможно потому, как в массе нужно это только келоггерам и шпионам. Естественно, проактивная защита некоторых антивирусов может на такую программу ругаться, а уж если hook.dll прикрутить - гарантированно проходу не даст.
карма: 1

0
Разработчик
Ответов: 26170
Рейтинг: 2127
#17: 2012-05-22 18:49:37 ЛС | профиль | цитата
code_27973.txt
карма: 22

0
файлы: 1code_27973.txt [1.1KB] [246]
Ответов: 8930
Рейтинг: 823
#18: 2012-05-22 19:16:17 ЛС | профиль | цитата
nesco, спасибо от лица всех старохацкеров!
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#19: 2012-05-22 19:58:21 ЛС | профиль | цитата
nesco,

   case asciiResult of
1: SetLength(Result, 1) ;
2:;
else
Result := ';
end;
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#20: 2012-05-22 20:18:34 ЛС | профиль | цитата
Да это готовый код был, я его просто портировал, сильно не вдаваясь в подробности. Даже редактировать ничего не стал, влом было
А вообще, я просто показал, что на просторах можно найти и черта лысого, было бы желание, а не стонание
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#21: 2012-05-22 21:21:10 ЛС | профиль | цитата
И что IC - самый универсальный компонент.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#22: 2012-05-22 21:39:39 ЛС | профиль | цитата
Tad писал(а):
И что IC - самый универсальный компонент

А никто и не сомневался, но с ним надо уметь работать, а это приходит с опытом.

PS Добавил в ConvertorEx метод VKeyToChar (см. SVN)
карма: 22

2
Голосовали:ser_davkin, mmmmm
Ответов: 16884
Рейтинг: 1239
#23: 2012-05-23 19:46:29 ЛС | профиль | цитата
Так вроде дешевле
procedure ThiConvertorEx._work_doConvert16;//VKeyToChar
var
Key: Word;
keyboardState: TKeyboardState;
begin
key := ReadInteger(_Data,_data_Data);
GetKeyboardState(keyboardState) ;

SetLength(st, 2);
case ToAscii(key, MapVirtualKey(key, 0), keyboardState, @st[1], 0) of
1: SetLength(st, 1);
2: ;
else
st := ';
end;
_hi_CreateEvent(_Data, @_event_onResult,st);
end;
asciiResult: Integer; кому-то нужен ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
Голосовали:nesco
Разработчик
Ответов: 26170
Рейтинг: 2127
#24: 2012-05-23 20:00:03 ЛС | профиль | цитата
Tad писал(а):
Так вроде дешевле

Действительно, как я упустил
------------ Дoбавленo в 19.59:
Исправил
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#25: 2012-05-23 20:00:26 ЛС | профиль | цитата
Бывает.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 305
Рейтинг: 4
#26: 2012-05-23 20:26:55 ЛС | профиль | цитата
Что то не обновляется компонент. Киньте в архиве кто нибудь
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#27: 2012-05-23 20:34:53 ЛС | профиль | цитата
mmmmm писал(а):
Что то не обновляется компонент
обновляется.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1173
Рейтинг: 49
#28: 2012-05-23 20:36:58 ЛС | профиль | цитата
Код:
code_27978.txt
Конф:
code_27979.txt
карма: 0

0
файлы: 2code_27978.txt [8.2KB] [336], code_27979.txt [2.5KB] [144]
Разработчик
Ответов: 26170
Рейтинг: 2127
#29: 2012-05-23 20:37:12 ЛС | профиль | цитата
mmmmm писал(а):
Что то не обновляется компонент

Тю!
карма: 22

0
файлы: 1convertorex_001.rar [8.1KB] [161]
Ответов: 305
Рейтинг: 4
#30: 2012-05-23 20:37:55 ЛС | профиль | цитата

карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)