А можно из плагина опредить текущую MacroArea?
А можно из плагина опредить текущую MacroArea?
Что-то ничего умнее чем, выполнить из плагина макрос вроде "%%MacroArea=MacroArea; msave("%MacroArea%")" а потом это значение из реестра считать, придумать не могу.
Re: А можно из плагина опредить текущую MacroArea?
Roy, ты тему раскрой, а то свое решение предложил, а для чего и почему - догадываться надо.
We are the Borg. You will be assimilated.
So Say We All!
So Say We All!
Re: А можно из плагина опредить текущую MacroArea?
Нет
Штука в том, что это не совсем плагин - OpenPlugin там нет.
Работает штука так:
экспортируем GetPluginInfo, возвращаем PF_PRELOAD - дабы нас не выгружали
экспортируем SetStartupInfo, получаем FARAPI, ставим хук на ReadConsoleInput
все остальное делаем в хуке
макросы запускать умеем - для этого и придуманы, но вот как текущую область определить...
Штука в том, что это не совсем плагин - OpenPlugin там нет.
Работает штука так:
экспортируем GetPluginInfo, возвращаем PF_PRELOAD - дабы нас не выгружали
экспортируем SetStartupInfo, получаем FARAPI, ставим хук на ReadConsoleInput
все остальное делаем в хуке
макросы запускать умеем - для этого и придуманы, но вот как текущую область определить...
Re: А можно из плагина опредить текущую MacroArea?
зачем? (только не отвечай в стиле "нада", иначе на "нада" будет адекватный ответ )Roy wrote:но вот как текущую область определить...
We are the Borg. You will be assimilated.
So Say We All!
So Say We All!
Re: А можно из плагина опредить текущую MacroArea?
Ага, уже что-то. Но областей несколько больше?t-rex wrote:Roy
ACTL_GETSHORTWINDOWINFO
Re: А можно из плагина опредить текущую MacroArea?
В смысле, а что мешает ACTL_GETWINDOWINFO\ACTL_GETSHORTWINDOWINFO возвращать все области? Может его того - дописать? На мантис?
Re: А можно из плагина опредить текущую MacroArea?
ну... как бы есть MCMD_GETSTATE, пока он возвращает только состояние машины, но у меня есть мысль добавить инфы (какой клавишей вызывали макрос, опять же - макрообласть, может еще что...)
We are the Borg. You will be assimilated.
So Say We All!
So Say We All!
-
- Posts: 3651
- Joined: Wed 23 Nov, 2005 11:11
- Location: Москва-Питер
- Has thanked: 2 times
- Been thanked: 19 times
Re: А можно из плагина опредить текущую MacroArea?
Не стоит. Куча плагинов может поломаться.Roy wrote:В смысле, а что мешает ACTL_GETWINDOWINFO\ACTL_GETSHORTWINDOWINFO возвращать все области? Может его того - дописать? На мантис?
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
Re: А можно из плагина опредить текущую MacroArea?
Да, у меня тоже есть опасения. И пример был не так давно, когда там что-то пошевелили - и ага.Max Rusov wrote:Не стоит. Куча плагинов может поломаться.Roy wrote:В смысле, а что мешает ACTL_GETWINDOWINFO\ACTL_GETSHORTWINDOWINFO возвращать все области? Может его того - дописать? На мантис?
Re: А можно из плагина опредить текущую MacroArea?
это почему?
сейчас в качестве param вы юзаете NULL - ну и юзайте на здоровье.
в конечном итоге здесь будет ссылка на структуру.
сейчас в качестве param вы юзаете NULL - ну и юзайте на здоровье.
в конечном итоге здесь будет ссылка на структуру.
We are the Borg. You will be assimilated.
So Say We All!
So Say We All!
- NightRoman
- Posts: 6184
- Joined: Fri 18 Aug, 2006 13:52
- Location: Cambridge, UK
- Has thanked: 32 times
- Been thanked: 62 times
- Contact:
Re: А можно из плагина опредить текущую MacroArea?
Ну может и ОК. Правда мне не нравится все равно, я уже критиковал подход с чрезмерной перегрузкой существующего АПИ. То есть функа будет еще что-то делать, что не нужно 99% плагинов, да? Лучше это тогда дополнительной командой реализовывать, а не валить в уже имеющуюся. Но хозяин - барин, само собой.Skirda wrote:это почему?
сейчас в качестве param вы юзаете NULL - ну и юзайте на здоровье.
в конечном итоге здесь будет ссылка на структуру.
Re: А можно из плагина опредить текущую MacroArea?
Протестировал ACTL_GETWINDOWINFO\ACTL_GETSHORTWINDOWINFO на предмет соответствия возвращаемого ею Type и MacroArea.
Выхлоп:
Т.е. имеем 2 бага:
- WTYPE_VMENU - не возвращается никогда, по крайней мере я не нашел ни одного такого Menu.
- для FindFolder возвращаем волшебное значение - 8! [здесь дикий смайлик на ваш выбор]
Выхлоп:
Code: Select all
// Shell WTYPE_PANELS
// Viewer WTYPE_VIEWER
// Editor WTYPE_EDITOR
// Dialog WTYPE_DIALOG
// MainMenu WTYPE_PANELS !!!
// Help WTYPE_HELP
// Menu WTYPE_PANELS
// UserMenu WTYPE_PANELS
// Search WTYPE_PANELS
// Info WTYPE_PANELS
// Disks WTYPE_PANELS
// QView WTYPE_PANELS
// Tree WTYPE_PANELS
// FindFolder 8 !!!
// Other зависит от предыдущего контекста
- WTYPE_VMENU - не возвращается никогда, по крайней мере я не нашел ни одного такого Menu.
- для FindFolder возвращаем волшебное значение - 8! [здесь дикий смайлик на ваш выбор]