Допоможіть мені покращити цю автоматичну клавішу, яка копіює текст та надсилає іншій програмі


0

Я створив сценарій AutoHotKey, який робить наступне на клацанні Alt+:

  • Двічі клацніть по поточній позиції
  • Вибирає слово
  • Копіює слово в буфер обміну
  • Активує другу програму
  • Вставляє слово в програму (словник)
  • Преси Enter

Проблема полягає в тому, що вона іноді працює в 80-90% додатків - в інших вона працюватиме набагато менше, іноді лише отримуючи, як вставити текст, але не натискаючи Enter.

Нижче наводиться сценарій, якісь ідеї, як його повноцінно працювати?

!LButton::
IfWinExist PCD 
{
    Click 2
    Send, ^c
    WinActivate PCD
    WinWaitActive, PCD
    Send, ^v
    Send {Enter}
}
return

Відповіді:


1

можливо, проблема полягає у затримці дії подвійного клацання (будь-яка дія миші за замовчуванням становить 10 мільйсекундну затримку), ви можете додати режим сну 20 або більше після цього рядка. Інша справа, що SendInput швидше, ніж Send, щоб ви могли спробувати цей код:

!LButton::
IfWinExist PCD 
{
    Click 2
    sleep 50
    SendInput, ^c
    WinActivate PCD
    WinWaitActive, PCD
    SendInput, ^v{Enter}
}
return
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.