ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

30.12.2009, 19:49
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
в твоем случае нужно коды переводить данные из обычного кода в виртуальный.
для этого есть функция VkKeyScan. Но при её юзанье ты потеряеш регистр букв. т.е. все будет маленькими или большими, взависимости от шифта.
В твоем случае это так:
keybd_event(VkKeyScan(edit1.Text[x]), 0, 0, 0);
VkKeyScan возвращает в младшей части - код.
А в старшей - инфу о кнопках
If the function succeeds, the low-order byte of the return value contains the virtual-key code and the high-order byte contains the shift state, which can be a combination of the following flag bits.
If the function finds no key that translates to the passed character code, both the low-order and high-order bytes contain –1.
Bit Meaning
1 Either SHIFT key is pressed.
2 Either CTRL key is pressed.
4 Either ALT key is pressed.
8 The Hankaku key is pressed
16 Reserved (defined by the keyboard layout driver).
32 Reserved (defined by the keyboard layout driver).
-------------------
d делфи числа в шестнадчатиричной системе пишутся через $ типа
$A1
Последний раз редактировалось slesh; 30.12.2009 в 19:53..
|
|
|

30.12.2009, 20:02
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Во. Замутил с поддержкой регистра букв.
из Edit2 берет текст и вставляет в Edit1
Код:
var
x : integer;
code : word;
begin
edit1.SetFocus;
for x := 1 to length(edit2.Text) do
begin
code := VkKeyScan(edit2.Text[x]);
if code and $100 <> 0 then keybd_event(VK_SHIFT, 0, 0, 0);
keybd_event(code, 0, 0, 0);
if code and $100 <> 0 then keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
end;
end;
|
|
|

30.12.2009, 20:13
|
|
Постоянный
Регистрация: 30.08.2005
Сообщений: 730
Провел на форуме: 6828219
Репутация:
2274
|
|
да на регистр пох, он неуспевает печатать =\ буквы местами меняет/съедает, ппц...
Чем ещё можно клавиши быстро нажимать? Токо чоб не хавало и не меняло местами =\
|
|
|

30.12.2009, 20:22
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
делай паузу небольшую между каждым нажатием
|
|
|

30.12.2009, 20:36
|
|
Постоянный
Регистрация: 30.08.2005
Сообщений: 730
Провел на форуме: 6828219
Репутация:
2274
|
|
да без паузы там вобще катастрофа, у мя стоит пауза 15мс но оно так медлено печатает а буквы всёравно ест зараза
|
|
|

30.12.2009, 20:52
|
|
Banned
Регистрация: 24.12.2009
Сообщений: 141
Провел на форуме: 487460
Репутация:
45
|
|
в мастдае все строится на событийной модели.... обработка нажатий клавиш одна из ярких представителей, ... много программеров так и не перешло на мастдай от доса потому как не ПРИНЯЛИ событийную модель, ваше приложение должно вызывать функции по получению каких либо событий иначе программирование будет в стиле ЯЛЯ-ДОС!
... это не НАШИ правила!
|
|
|

31.12.2009, 16:14
|
|
Новичок
Регистрация: 16.12.2009
Сообщений: 7
Провел на форуме: 10287
Репутация:
0
|
|
Сообщение от slesh
1) Нахера ты это в раделе по Делфи разместил?
2) бери VS 2008 Pro Rus, Лучше не придумаешь под винду.
3) То что ты пишеш и оно не пашет под w7 то это не зависит от компилятора.
VC++ 2008 имеет поддержку работы с манифестами под w7 и vista
4) если нужно чтото в плане системного программирования, то качай последюнюю WDK
(новая вресия DDK) и там есть хидер и прочие хрени вплоть до w7
Оргомное спс, промохнулся с темой, еле нашел тут =)
|
|
|

31.12.2009, 17:09
|
|
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
Провел на форуме: 4172659
Репутация:
646
|
|
Ponchik, а какова задача? Подозреваю, что там лучше сообщениями сделать
|
|
|

01.01.2010, 13:54
|
|
Постоянный
Регистрация: 26.01.2008
Сообщений: 796
Провел на форуме: 5209663
Репутация:
357
|
|
Знаю что [:|||:], но все же:
Какой компонент выбрать для работы с mySQL?
Как в RichEdit добавить такую строку: 7436: овыпора (Чтобы 1 часть была 1 цветом, а другая другим...)
|
|
|

01.01.2010, 17:15
|
|
Moderator - Level 7
Регистрация: 02.05.2009
Сообщений: 894
Провел на форуме: 4297091
Репутация:
2261
|
|
кто знает как вывести окно, не создав при этом вкладку на панели задач/строку в "Приложениях" Диспетчера задач?
По-исследовал CreateWindowEx, но по-моему через него так невозможно.
Приложение у меня консольное, работает "тихо и незаметно", но как только появляется окно - появляется и вкладка на Панели Задач 
Последний раз редактировалось ErrorNeo; 01.01.2010 в 17:18..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|