View previous topic :: View next topic |
Author |
Message |
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Jul 04, 2011 21:04 Post subject: |
|
|
Loopback wrote: | http://forum.wincmd.ru/viewpost.php?p=74978 | >>> Flasher wrote: | С батником что-то не очень, для меня во всяком случае. Подожду добавки ключа. К тому же это будет более мягкий и юзабильный метод. |
Loopback wrote: | Достаточно процессу упасть - и в реестре остается мусор. | Но с LoadLibrary при падении таких проблем нет. Значит и тут этот момент как-то предусмотреть можно? |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Tue Jul 05, 2011 13:17 Post subject: |
|
|
Flasher wrote: | Но с LoadLibrary при падении таких проблем нет. Значит и тут этот момент как-то предусмотреть можно? |
Вроде помнится, что система должна пытаться выгружать загруженные библиотеки в случае падения основного потока (не проверял). В этом случае, если делать операции разрегистрации при выгрузке библиотеки, то наверно всё должно разрегистрироваться нормально - если, конечно, не возникнет с сбой в самом коде библиотеки. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Jul 05, 2011 13:21 Post subject: |
|
|
Loopback wrote: | В этом случае, если делать операции разрегистрации при выгрузке библиотеки, то наверно всё должно разрегистрироваться нормально | Очень надеюсь, что так оно и будет.
! | Avada: | Последующий оффтоп отделён сюда. | |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Thu Aug 11, 2011 14:57 Post subject: |
|
|
Quote: | Также, плагин имеет несколько предопределенных переменных (констант):
%AUTORUN_OSARCH% - архитектура ОС, где работает тотал. Может быть 32 или 64.
%AUTORUN_OSVERSION% - версия ОС где работает тотал. Может принимать значения:
WIN_UNKNOWN, WIN_95, WIN_98, WIN_ME, WIN_NT, WIN_2000, WIN_XP, WIN_2003, WIN_VISTA, WIN_2008, WIN_7, WIN_2008R2
%AUTORUN_DESKTOPWIDTH% - ширина экрана.
%AUTORUN_DESKTOPHEIGHT% - высота экрана.
%AUTORUN_DESKTOPDEPTH% - глубина цвета экрана.
%AUTORUN_TCHANDLE% - хэндл окна Total Commander (для использования в скриптах). | Создал папку "32". Вызываю cd C:\Тест\%AUTORUN_OSARCH% - ничего не происходит. То же самое с папкой "WIN_7" и %AUTORUN_OSVERSION%. Где, и как эти переменные можно использовать, куда их можно прописывать и т.п.? Как использовать в скриптах, которые сами их распознать не смогут, ибо они - не переменные окружения?
Win 7 x86, версия - 1.4.9.6. |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Fri Aug 12, 2011 15:08 Post subject: |
|
|
Flasher
Просто создать переменную окружения с текстом внутренней переменной, например:
Code: | SetEnv /EV OSARCH %AUTORUN_OSARCH% |
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Aug 12, 2011 15:11 Post subject: |
|
|
Loopback
Хм. Я вот с такой строкой сперва пробовал:
Code: | SetEnv /A /EV %AUTORUN_OSARCH% %AUTORUN_OSARCH% |
Должна по идее создаться переменная %32% со значением 32.
А в чём тогда предопределённость? |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Fri Aug 12, 2011 15:29 Post subject: |
|
|
Ну, переменные же создаются в плагине изначально, без участия пользователя - значит, предопределенные. Более того, это по сути константы, т.е. пользователь их не может изменить. Я специально не стал их делать переменными окружения, так как более интересно их использовать в условиях, а не напрямую. Да и большинство может просто не понадобиться.
И да, при создании переменных использовать проценты в имени не нужно (добавлю в документацию).
Quote: | Должна по идее создаться переменная %32% со значением 32. |
Нет, имя переменной должно быть простой строкой, без других переменных. |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Aug 12, 2011 15:37 Post subject: |
|
|
Loopback wrote: | Я специально не стал их делать переменными окружения, так как более интересно их использовать в условиях, а не напрямую. | Вот тут я бы, конечно, поспорил. Напрямую куда больший КПД на выходе имеем (скрипты, сценарии, переходы в рядом лежащие папки). Loopback wrote: | И да, при создании переменных использовать проценты в имени не нужно (добавлю в документацию). | Это я уже понял. Хотя ограничение данное действительно в документации не помешает описать.
Loopback wrote: | Нет, имя переменной должно быть простой строкой, без других переменных. | Это системная завязка или чисто плагиновая? |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Fri Aug 12, 2011 16:39 Post subject: |
|
|
Flasher wrote: | Вот тут я бы, конечно, поспорил. Напрямую куда больший КПД на выходе имеем (скрипты, сценарии, переходы в рядом лежащие папки). |
Но ведь можно определить реальную переменную, запихав в неё значение виртуальной
Flasher wrote: | Это системная завязка или чисто плагиновая? |
Система сама вообще не раскрывает переменные окружения без пинка) а объявлять переменную, используя в имени другие переменные - вообще нонсенс. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Aug 12, 2011 16:43 Post subject: |
|
|
MVV wrote: | можно определить реальную переменную, запихав в неё значение виртуальной | С этим мы уже разобрались. Не всегда полезно в Autorun прописывать установку кучи переменных, по мне лучше бы переменные были предопределены и как переменные среды.
MVV wrote: | объявлять переменную, используя в имени другие переменные - вообще нонсенс | А конкретней? |
|
Back to top |
|
|
Loopback
Joined: 07 Sep 2009 Posts: 1290
|
(Separately) Posted: Mon Aug 15, 2011 10:28 Post subject: |
|
|
Flasher wrote: | Это системная завязка или чисто плагиновая? |
Плагиновая, но как верно заметил MVV - смысла в этом мало. Зачем делать переменную с неопределенным именем, скажем 32 или 64, и потом из скрипта проверять ее существование, когда можно сделать одну явно заданную переменную и с тем же успехом проверить ее содержимое? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Mon Aug 15, 2011 15:52 Post subject: |
|
|
Loopback
Для пробы. Я же написал. И всё-таки пожелание включить предопределённые переменные среды остаётся в силе. |
|
Back to top |
|
|
HA3APET
Joined: 22 Feb 2010 Posts: 151
|
(Separately) Posted: Fri Sep 09, 2011 03:18 Post subject: |
|
|
Есть
\Prog\RBTray\32\RBTray.exe
\Prog\RBTray\64\RBTray.exe
Как прописать ShellExec в зависимости от разрядности ОС? |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Fri Sep 09, 2011 04:16 Post subject: |
|
|
HA3APET
А есть проблема при указании %AUTORUN_OSARCH% вместо 32/64 ? |
|
Back to top |
|
|
HA3APET
Joined: 22 Feb 2010 Posts: 151
|
(Separately) Posted: Fri Sep 09, 2011 04:39 Post subject: |
|
|
Flasher
Так и пробовал - не заработало, но оказывается просто ошибся в пути, всё работает. Вопрос снят.
Добавлено спустя 13 минут:
Очень бы хотелось ключик для ShellExec, что бы если программа уже запущена (висит в процессах), она не запускалась.
Можно конечно это решить батником, но средствами программы было бы намного удобнее.
По идеи такую возможность должны поддерживать сами программы, но далеко не у всех это есть. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|