neo Опубликовано 6 февраля, 2019 Поделиться Опубликовано 6 февраля, 2019 Всем привет! товарищи специалисты помогите отжать клавишу шифт =( выделяю текст через Shift+Left (метод ctrl+a не подходит) в Win7 всё работало хорошо тк выделял вот так: Keybd_Event(VK_SHIFT,MapVirtualKey(VK_SHIFT,0),0,0); for i:=0 to X do begin Keybd_Event(vk_left,MapVirtualKey(vk_left,0),0,0); Keybd_Event(vk_left,MapVirtualKey(vk_left,0),KEYEVENTF_KEYUP,0); Sleep(100); end; Keybd_Event(VK_shift,MapVirtualKey(VK_shift,0),KEYEVENTF_KEYUP,0); Но сейчас в Win10 так текст не выделяется =( приходится выделять вот так keybd_event(VK_SHIFT, 0, KEYEVENTF_EXTENDEDKEY, 0); так всё выделяет... но после этого, когда нажимаешь на другие клавиши видно что шифт запал тк вместо abc123 будет ABC!@# таким методом он не отжимается: keybd_event(VK_SHIFT, 0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0); Чё делать? =( Цитата Ссылка на комментарий
0 neo Опубликовано 6 февраля, 2019 Автор Поделиться Опубликовано 6 февраля, 2019 еслиделать вот так 2 раза то всё норм keybd_event(VK_SHIFT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0); Keybd_Event(VK_shift,MapVirtualKey(VK_shift,0),KEYEVENTF_KEYUP,0); Цитата Ссылка на комментарий
0 Евгений Корепов Опубликовано 6 февраля, 2019 Поделиться Опубликовано 6 февраля, 2019 А в каком компоненте вы выделяете текст? Если в стандартных компонентах редактирования текста, то может вот так проще? Edit1.SelStart:=5; Edit1.SelLength:=10; Memo1.SelStart:=5; Memo1.SelLength:=5; Цитата Ссылка на комментарий
0 neo Опубликовано 6 февраля, 2019 Автор Поделиться Опубликовано 6 февраля, 2019 5 часов назад, Евгений Корепов сказал: А в каком компоненте вы выделяете текст? Если в стандартных компонентах редактирования текста, то может вот так проще? Edit1.SelStart:=5; Edit1.SelLength:=10; Memo1.SelStart:=5; Memo1.SelLength:=5; Спасибо за совет! но работаю к сож с внешними формами Цитата Ссылка на комментарий
Вопрос
neo
Всем привет! товарищи специалисты помогите отжать клавишу шифт =(
выделяю текст через Shift+Left (метод ctrl+a не подходит)
в Win7 всё работало хорошо тк выделял вот так:
Keybd_Event(VK_SHIFT,MapVirtualKey(VK_SHIFT,0),0,0);
for i:=0 to X do
begin
Keybd_Event(vk_left,MapVirtualKey(vk_left,0),0,0);
Keybd_Event(vk_left,MapVirtualKey(vk_left,0),KEYEVENTF_KEYUP,0);
Sleep(100);
end;
Keybd_Event(VK_shift,MapVirtualKey(VK_shift,0),KEYEVENTF_KEYUP,0);
Но сейчас в Win10 так текст не выделяется =(
приходится выделять вот так keybd_event(VK_SHIFT, 0, KEYEVENTF_EXTENDEDKEY, 0);
так всё выделяет... но после этого, когда нажимаешь на другие клавиши видно что шифт запал
тк вместо abc123 будет ABC!@#
таким методом он не отжимается: keybd_event(VK_SHIFT, 0,KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP,0);
Чё делать? =(
Ссылка на комментарий
3 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.