Можете ли вы помочь мне с отправкой нажатия клавиши в форму SAP. Я использую приложение AutoHotKey. Я хотел бы отправить CTRL+Tab, чтобы выйти из окна текстового поля, нажав комбинацию клавиш CTRL+T (не спрашивайте меня, почему это просто пример более сложной проблемы).

Вот код, который я протестировал:

1)

^t::  
  Sleep 2000  
  Send, {Control DOWN}{Tab}{Control UP}  
Return 

Или это «Отправить, ^ {Tab}» или «Отправить, ^+{Tab}»

2)

^t::  
  Sleep 1000  
  Send, {Ctrl Down}  
  Sleep 300   
  Send, {Tab}  
  Sleep, 300  
  Send, {Ctrl Up}  
Return

Второй работает, но только иногда и только на некоторых ПК.

1 ответ1

0

Есть ли форма SAP в браузере?

Вы также можете попробовать SendInput (или указать, какой режим Send будет использовать по умолчанию (SendMode Input или SendMode Play).

Вы также должны иметь возможность проверить значок в трее и убедиться, что код выполняется так, как ожидалось, когда вы нажимаете ^ t. Если он выполняется, но не дает ожидаемых результатов, вам нужно посмотреть на взаимодействие между AutoHotkey и вашей программой.

Также проверьте наличие любых предыдущих операторов #IfWinActive если это часть более крупного скрипта.

Задержки, которые вы показали, очень полезны для устранения неполадок, но в большинстве случаев они не должны понадобиться после выяснения того, что работает или не работает.

Другой метод устранения неполадок - установить всплывающую подсказку до / после каждой задержки и проверить (в режиме реального времени), оказывают ли нажатия клавиш предполагаемое влияние на вашу программу или форму. Это также может помочь проверить, что сценарий выполняется должным образом при нажатии горячей клавиши.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .