1 (изменено: ser3ga, 2017-06-23 23:32:29)

Тема: AHK: Свои горячие клавиши в illustrator cc

Есть желание сделать горячие клавиши для иллюстратора, которые нельзя настроить в самой программе и хотелось бы их назначить через меню (например: File - Export и т.д. (на эту функцию можно назначить в самой программе, написал в качестве примера). То есть мне как то нужно чтобы ahk добрался до это меню. Через функцию winmenuselectitem не получается (наверно меню защифровано как то, как и word, excel). Пробовал через функцию "send, !fe" то есть эмуляция нажатия клавиши alt(активирует это меню) и последовательное нажатие клавиши "f" и "е". Но это не всегда срабатывает. Подскажите пожалуйста есть ли ещё какие варианты?

2

Re: AHK: Свои горячие клавиши в illustrator cc

stealzy а можно как-нибудь добраться до скрытых функций (например которые не видно в меню, но видно в настройках).

3

Re: AHK: Свои горячие клавиши в illustrator cc

Иллюстратором можно через com управлять:

ComObjCreate("Illustrator.Application")

http://wwwimages.adobe.com/content/dam/ … erence.pdf

4 (изменено: svoboden, 2017-07-10 02:51:39)

Re: AHK: Свои горячие клавиши в illustrator cc

Сам интересуюсь нечто подобным. Вызвать меню можно с помощью сообщений "PostMessage, 0x111". Насчет скрытых настроек, нашел только, что у них тоже есть свои сообщения, но заслать их в окно настроек не получается. Пришел к тому, что окно настроек надо запускать в любом случае и там пытаться что-то изменить.

5

Re: AHK: Свои горячие клавиши в illustrator cc

svoboden, а можно какой нибудь пример с "PostMessage, 0x111" чего-то у меня не получается с этой функцией.

6

Re: AHK: Свои горячие клавиши в illustrator cc

Там непонятно с этими сообщениями. Такие программы нужно через com автоматизировать.

7

Re: AHK: Свои горячие клавиши в illustrator cc

А что именно непонятно?
Вот так открывает file->export-export as:

f1::
PostMessage, 0x111, 355,,,A

8

Re: AHK: Свои горячие клавиши в illustrator cc

Malcev не работает почему то.

9

Re: AHK: Свои горячие клавиши в illustrator cc

У меня работает на 2015.3.0.

10 (изменено: ser3ga, 2017-06-29 14:34:21)

Re: AHK: Свои горячие клавиши в illustrator cc

Malcev 17.0.0 не работает, может быть есть ещё варианты? В 16.0.2 тоже не работает.

11

Re: AHK: Свои горячие клавиши в illustrator cc

Так посмотрите, что отправляется в вашей версии.
Вот туториал:
https://autohotkey.com/docs/misc/SendMessage.htm
Тут скачиваете spy++:
http://mdb-blog.blogspot.com/2010/11/mi … nload.html
Для 32-битных программ смотрите через spyxx.exe.
Для 64-битных программ смотрите через spyxx_amd64.exe.

12 (изменено: svoboden, 2017-06-30 01:45:32)

Re: AHK: Свои горячие клавиши в illustrator cc

В принципе, такой метод работает, но, допустим, нужно открыть меню "Сведения о файле", где имеется два параметра "WM_COMMAND WNotifyCode:8100wID:625", тут уже данный метод не срабатывает.

13 (изменено: Malcev, 2017-06-30 01:30:03)

Re: AHK: Свои горячие клавиши в illustrator cc

А так?

f1::
PostMessage, 0x111, hexToDecimal(8100) << 16 | 625,,,A

hexToDecimal(str){
    static _0:=0,_1:=1,_2:=2,_3:=3,_4:=4,_5:=5,_6:=6,_7:=7,_8:=8,_9:=9,_a:=10,_b:=11,_c:=12,_d:=13,_e:=14,_f:=15
    str:=ltrim(str,"0x `t`n`r"),   len := StrLen(str),  ret:=0
    Loop,Parse,str
      ret += _%A_LoopField%*(16**(len-A_Index))
    return ret
}

14 (изменено: Malcev, 2017-06-30 17:43:28)

Re: AHK: Свои горячие клавиши в illustrator cc

А можно проще - не переводить из hex в dec, а просто указать, что данные в хексе.
И правильней, наверное, передавать, как SendMessage, так как Spy++ передает с буквой S.

f1::
SendMessage, 0x111, 0x8100 << 16 | 625,,,A

15

Re: AHK: Свои горячие клавиши в illustrator cc

Думается, этот вопрос решен, хотя это не мой вопрос был. Просто у меня был похожий вопрос, на который я более-менее нашел ответ.

16

Re: AHK: Свои горячие клавиши в illustrator cc

stealzy а можно пример с SetFormat?

17

Re: AHK: Свои горячие клавиши в illustrator cc

Пишу с телефона, но вроде так:
msgbox % format("{:d}", "0x" 8100)
В справке также есть пример dec2hex.