1 (изменено: who, 2015-09-03 14:54:41)

Тема: AHK: для работы скрипта в MS Office 2007 нужно перезапускать скрипт

Вот такой простенький скрипт  переназначения клавиш:


pause::
   SendInput, {Delete}
Return

положил в автозагрузку, по причине расположения клавиши Pause в неудобном месте на одной конкретной клавиатуре (сразу уточню: ремаппингом не получилось вообще ничего).

При старте компьютера скрипт благополучно запускается и работает вроде бы везде, кроме MS Office 2007 (конкретно: word и excel), но если из трея перезапустить скрипт, то всё работает как надо. Но со временем, если на некоторое время закрыть офисные приложения или просто не пользоваться офисом, висящим запущенным, то скрипт снова "отваливается" только от офиса, и нужно перезапускать скрипт по новой.
Обратный скрипт переназначения Delete на Pause работает нормально.
Это как-то можно автоматизировать, или я некорректно что-то прописал в скрипте?
P.S.: Win 8.1x64, AHK U64 1.1.22.4
Может для MS Office нужно прописать каое-нибудь условие? например автоперезапуска скрипта...

2

Re: AHK: для работы скрипта в MS Office 2007 нужно перезапускать скрипт

Тут нечему "ломаться". Попробуй:
- Запуск скрипта от имени администратора.
Еще упростить скрипт.

vk13::vk2E

3 (изменено: who, 2015-09-03 14:55:19)

Re: AHK: для работы скрипта в MS Office 2007 нужно перезапускать скрипт

Irbis пишет:

Тут нечему "ломаться". Попробуй:
- Запуск скрипта от имени администратора.
Еще упростить скрипт.

vk13::vk2E

За упрощение скрипта: спасибо.
А администратор не помогает никак.
И приложению права администратора дал и запускаю скрипт от его имени -- всё слетает...

Сейчас заметил такое же поведение и в Foxit PhantomPDF, и в Total Commander-е.
По ходу работает только в простых текстовых полях...

4

Re: AHK: для работы скрипта в MS Office 2007 нужно перезапускать скрипт

who пишет:

ремаппингом не получилось вообще ничего

Это или это пробовали?

5

Re: AHK: для работы скрипта в MS Office 2007 нужно перезапускать скрипт

Попробуйте так:

$Pause:: SendInput, {Del}
Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

6 (изменено: who, 2015-09-03 14:58:03)

Re: AHK: для работы скрипта в MS Office 2007 нужно перезапускать скрипт

Flasher пишет:
who пишет:

ремаппингом не получилось вообще ничего

Это или это пробовали?

"Вообще ничего" я конечно загнул, но толку не вышло.
Первую пробовал, вторую нет, но вторая хоть предупреждает, что NumLoc отключится, и это другая тема вроде как.


На новой клавиатуре, такм где раньше была клавиша "Pause/Break" сейчас находится "Delete".
Перепробовал много разных перехватчиков кодов -- у всех результаты одинаковы, но у меня получается кривой результат:
-- результаты сканирования --
клавиша "Del" -- код E0 53
клавиша "Pause/Break" -- код 00 45

-- в реестр заношу следущее --

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,53,e0,45,00,45,00,53,e0,00,00,00,00

по факту получаю на клавише "Pause/Break" функцию клавиши "delete", а на клавише "delete"... функцию клавиши "NumLock"!!!! у которой код E0 45.

Порывшись в интернете нашёл инфу, что клавиша "Pause/Break" относится к т.н. "сложным клавишам", и её скан-код может превышать 4 шеснацетиричных символа, но как их считать целиком, а тем более описать в "Scancode Map" нигде не нашёл.

7

Re: AHK: для работы скрипта в MS Office 2007 нужно перезапускать скрипт

who, у нас принято ставить точки в конце предложений. Отредактируйте свои посты.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

8

Re: AHK: для работы скрипта в MS Office 2007 нужно перезапускать скрипт

teadrinker пишет:

who, у нас принято ставить точки в конце предложений. Отредактируйте свои посты.

Виноват. Исправил.

9

Re: AHK: для работы скрипта в MS Office 2007 нужно перезапускать скрипт

teadrinker пишет:

Попробуйте так:

$Pause:: SendInput, {Del}

Тоже "отваливается".

10 (изменено: who, 2015-09-03 15:44:27)

Re: AHK: для работы скрипта в MS Office 2007 нужно перезапускать скрипт

В общем сейчас проверил несколько раз: 30 секунд бездействия и скрипт отваливается в вышеперечисленных и возможно других программах, кроме точно Opera 12 и... всё.

11 (изменено: who, 2015-09-03 16:27:21)

Re: AHK: для работы скрипта в MS Office 2007 нужно перезапускать скрипт

Обнаружил конфликт с Punto Switcher, ради которого всё и начиналось-то, в принципе.
Видимо, нужно переносить тему или продолжать тут?
Цель следующая: переназначить местами функции клавиш "Pause" и "Delete" и повесить на вновь назначенную кнопку "Pause" (экс "Delete") обычные функции Punto Switcher: Отменить конвертацию и сменить конвертацию.