OberonCore https://forum.oberoncore.ru/ |
|
Кода клавиш в ВВ... https://forum.oberoncore.ru/viewtopic.php?f=1&t=276 |
Страница 1 из 1 |
Автор: | Вячеслав Бойко [ Понедельник, 24 Июль, 2006 14:29 ] |
Заголовок сообщения: | Кода клавиш в ВВ... |
Вот, возникла надобность симулировать нажатие клавишь Ctrl+A и Ctrl+C в программе. В Делфе это пишеться так: Код: keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), 0, 0);
keybd_event(Ord('C'), MapVirtualKey(Ord('C'), 0), 0, 0); keybd_event(Ord('C'), MapVirtualKey(Ord('C'), 0), KEYEVENTF_KEYUP, 0); keybd_event(VK_CONTROL, MapVirtualKey(VK_CONTROL, 0), KEYEVENTF_KEYUP, 0) Что мне писать вместо VK_CONTROL, KEYEVENTF_KEYUP и KEYEVENTF_KEYUP в ВВ? Смотрел модули MtChars, National и справку ВВ , но так и не понял ![]() |
Автор: | Сергей Губанов [ Понедельник, 24 Июль, 2006 16:05 ] |
Заголовок сообщения: | Re: Кода клавиш в ВВ... |
Они определены в модуле WinApi: VK_CONTROL = 17; KEYEVENTF_KEYUP = {1}; PROCEDURE keybd_event (bVk, bScan: SHORTCHAR; dwFlags: SET; dwExtraInfo: INTEGER); |
Автор: | Вячеслав Бойко [ Понедельник, 24 Июль, 2006 16:20 ] |
Заголовок сообщения: | Re: Кода клавиш в ВВ... |
Сергей Губанов писал(а): Они определены в модуле WinApi
Да, определены... Но на такую запись Код: WinApi.keybd_event(WinApi.VK_CONTROL, WinApi.MapVirtualKey(WinApi.VK_CONTROL, 0), 0, 0);
WinApi.keybd_event(ORD('C'), WinApi.MapVirtualKey(ORD('C'), 0), 0, 0); WinApi.keybd_event(ORD('C'), WinApi.MapVirtualKey(ORD('C'), 0), WinApi.KEYEVENTF_KEYUP, 0); WinApi.keybd_event(WinApi.VK_CONTROL, WinApi.MapVirtualKey(WinApi.VK_CONTROL, 0), WinApi.KEYEVENTF_KEYUP, 0) у меня сплошные "incompatible assignment" ![]() |
Автор: | Сергей Губанов [ Понедельник, 24 Июль, 2006 17:01 ] |
Заголовок сообщения: | Re: Кода клавиш в ВВ... |
Надо так: WinApi.keybd_event(SHORT(CHR(WinApi.VK_CONTROL)), SHORT(CHR(WinApi.MapVirtualKey(WinApi.VK_CONTROL, 0))), {}, 0); WinApi.keybd_event('C', SHORT(CHR(WinApi.MapVirtualKey(ORD('C'), 0))), {}, 0); WinApi.keybd_event('C', SHORT(CHR(WinApi.MapVirtualKey(ORD('C'), 0))), WinApi.KEYEVENTF_KEYUP, 0); WinApi.keybd_event(SHORT(CHR(WinApi.VK_CONTROL)), SHORT(CHR(WinApi.MapVirtualKey(WinApi.VK_CONTROL, 0))), WinApi.KEYEVENTF_KEYUP, 0) |
Автор: | Вячеслав Бойко [ Понедельник, 24 Июль, 2006 17:13 ] |
Заголовок сообщения: | |
Спасибо! Работает. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |