• 0
neo

как отжать клавишу Shift?

Вопросы

Всем привет! товарищи специалисты помогите отжать клавишу шифт =(

выделяю текст через 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 ответа на этот вопрос

  • 0

еслиделать вот так 2 раза то всё норм

   keybd_event(VK_SHIFT, 0, KEYEVENTF_EXTENDEDKEY or KEYEVENTF_KEYUP, 0);
   Keybd_Event(VK_shift,MapVirtualKey(VK_shift,0),KEYEVENTF_KEYUP,0);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0

А в каком компоненте вы выделяете текст? Если в стандартных компонентах редактирования текста, то может вот так проще?

  Edit1.SelStart:=5;
  Edit1.SelLength:=10;

  Memo1.SelStart:=5;
  Memo1.SelLength:=5;

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
  • 0
5 часов назад, Евгений Корепов сказал:

А в каком компоненте вы выделяете текст? Если в стандартных компонентах редактирования текста, то может вот так проще?


  Edit1.SelStart:=5;
  Edit1.SelLength:=10;

  Memo1.SelStart:=5;
  Memo1.SelLength:=5;

 

Спасибо за совет! но работаю к сож с внешними формами

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу