Определить разрядность запущенного TC

Обсуждение вопросов автоматизации Total Commander с помощью сторонних программ и скриптовых технологий.

Модераторы: Avada, CaptainFlint, Nik, d-view, Моторокер

Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Samwatas писал(а):Где?
Поищи в версии для печати на озоне.
Samwatas писал(а):Если необходима конкретная реализация, то я могу завтра набросать что нибудь на эту тему.
Я бы тоже непрочь увидеть (вместе с определением пути, конечно). C vbs мы разабрались.
gora писал(а):Скрипт не учитывает, как оказалось, разрядность системы.
Совсем забыл про совет MVV - определять по размеру файла. Может, это устроит? ИМХО, нормальный вариант.
Аватара пользователя
Mellomann
Сообщения: 709
Зарегистрирован: Пн сен 07, 2009 00:44

Сообщение Mellomann »

определить разрядность запущенного TC
Хм...
А это ничего, что в заголовке окна ТК написано (х64) если он х64. Если не написано - то 32. В чём проблема-то?

Добавлено спустя 2 минуты:

Кроме того, никто не мешает сравнивать по размеру (3,6 против 7,3 Мб) или имени файла (TOTALCMD.EXE против TOTALCMD64.EXE).

Добавлено спустя 2 минуты:

Да и в свойствах самой исполнялки есть пункт

Код: Выделить всё

      InternalName	: TOTALCMD
или

Код: Выделить всё

      InternalName	: TOTALCMD[b]64[/b]
и по нему тоже можно определять.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Mellomann
А ничего, что тему сперва читают, а потом предлагают то, что ещё не предлагалось?
Mellomann писал(а):Да и в свойствах самой исполнялки есть пункт
И как получить внутреннее имя файла?
Аватара пользователя
gora
Сообщения: 442
Зарегистрирован: Чт дек 30, 2004 13:09
Откуда: Иваново

Сообщение gora »

Samwatas
Спасибо, на AutoIt мне не надо, ибо
Samwatas писал(а):неудобство откомпиленных скриптов - это размер
Про перечисленные выше макросы и функции я знаю.
Samwatas писал(а):%COMMANDER_PATH%\%COMMANDER_EXE%
Вообще-то переменная %COMMANDER_EXE% уже содержит полный путь и добавлять %COMMANDER_PATH% нет необходимости.
Win7 SP1 Ultimate x64, TC8.52a x64
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

gora
Т.е. AutoIt уже не используется?
И что по моему вопросу?
Аватара пользователя
gora
Сообщения: 442
Зарегистрирован: Чт дек 30, 2004 13:09
Откуда: Иваново

Сообщение gora »

Flasher писал(а):И что по моему вопросу?
Это об этом?
Flasher писал(а): определять по размеру файла. Может, это устроит?
Если есть переменная %COMMANDER_EXE%, то, как вариант, это можно использовать, а если ее нет? В папке у пользователя что искать? Ехе файл ТС может называться по разному и даже быть переименован.
Flasher писал(а):AutoIt уже не используется?
Где? В инсталляторе он никогда и не использовался. Сама кнопка написана на AutoIt, а инсталлятор - простой 7z SFX архив в котором лежат кнопка и вспомогательные файлы (батник, vbs и т.п.) для установки.
Win7 SP1 Ultimate x64, TC8.52a x64
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

gora писал(а):Если есть переменная %COMMANDER_EXE%, то, как вариант, это можно использовать, а если ее нет? В папке у пользователя что искать? Ехе файл ТС может называться по разному и даже быть переименован.
Не понял... А скрипт я для чего писал? Я пишу про редакцию скрипта. Подправить пару пустяков, только реакции не последовало.
gora писал(а):В инсталляторе он никогда и не использовался. Сама кнопка написана на AutoIt
В теории-то это склеить можно? Просто в кнопке будет сидеть кусок установочного кода. К тому же в AutoIt можно подключать объекты WSH и делать то же, что и в vbs.
Аватара пользователя
gora
Сообщения: 442
Зарегистрирован: Чт дек 30, 2004 13:09
Откуда: Иваново

Сообщение gora »

Flasher писал(а):Я пишу про редакцию скрипта. Подправить пару пустяков, только реакции не последовало.
Flasher, извините, я немного запутался. Дайте ссылку на Ваш вопрос, который остался без моего ответа.
Flasher писал(а):В теории-то это склеить можно?
Можно конечно все, только я буду делать как мне кажется должным.
Мы опять отклоняемся от темы и переходим к конкретному приложению и его переделке. Нужно решение для внешнего батника, vbs или еще чего предложите. AutoIt для меня здесь неприемлем по размерам, хотя знаю, что им много чего можно сделать.
Win7 SP1 Ultimate x64, TC8.52a x64
Аватара пользователя
Mellomann
Сообщения: 709
Зарегистрирован: Пн сен 07, 2009 00:44

Сообщение Mellomann »

Flasher писал(а):И как получить внутреннее имя файла?
любым способом, который позволяет работать с ресурсами PE32.
Кроме того, есть замечательный плагин для ТК wcres.wcx, работающий с ними, на примере которого можно понять, что конкретно я имею ввиду. Подобные отдельные утилиты уже давно редкость, а потому найти консольную для повешивания на батник не составит проблем.
Кстати, во внутренностях исполнялок ТК я сразу же увидел большие отличия, по которым можно будет предоставить выбор "определителю".
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

gora писал(а):Flasher, извините, я немного запутался. Дайте ссылку на Ваш вопрос, который остался без моего ответа.
Мы его сейчас обсуждаем. Нужно было пояснить, устраивает такой метод или нет. Исходя из этого нужно было также пояснить, мне самому это сделать, или всё уже сделано самостоятельно?
gora писал(а):Нужно решение для внешнего батника, vbs или еще чего предложите.
Это всё сюда же. Какой будет ответ, такой и будет результат.
Mellomann писал(а):любым способом, который позволяет работать с ресурсами PE32.
Надо на vbs/cmd.
Mellomann писал(а):Кроме того, есть замечательный плагин
Ещё раз обращаю внимание на прочтение темы. Делается инсталлятор, который должен учесть отсутствие любого дополнительного функционала, включая плагины.
Mellomann писал(а):Кстати, во внутренностях исполнялок ТК я сразу же увидел большие отличия, по которым можно будет предоставить выбор "определителю".
Никто не оспаривает, что программно можно всё это определить, мы же тут обсуждаем сценарии.
Аватара пользователя
gora
Сообщения: 442
Зарегистрирован: Чт дек 30, 2004 13:09
Откуда: Иваново

Сообщение gora »

Flasher писал(а):Нужно было пояснить, устраивает такой метод или нет. Исходя из этого нужно было также пояснить, мне самому это сделать, или всё уже сделано самостоятельно?
Сама идея мне понравилась, но, как выяснилось при тестировании, метод не срабатывает надежно. Вы не предложили исправленного варианта, я понял, так, что Вы "умываете руки", а сам я скрипт доработать не смог. Потому я его исключил из инсталлятора и сделал все на батнике, который будет работать, но с определенными оговорками, доведенными до сведения пользователей. Если Вы сможете довести скрипт до работоспособного состояния, я с благодарностью буду использовать Ваш скрипт.
Win7 SP1 Ultimate x64, TC8.52a x64
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

gora писал(а):Вы не предложили исправленного варианта, я понял, так, что Вы "умываете руки"
Я предложил идею, которая не была одобрена. Зачем же я буду править скрипт в такой ситуации?
gora писал(а):но, как выяснилось при тестировании, метод не срабатывает надежно.
....
Если Вы сможете довести скрипт до работоспособного состояния, я с благодарностью буду использовать Ваш скрипт.
В таком случае следует пояснить, что именно срабатывает ненадёжно. Кусок исправленного кода можно увидеть?

Да, и ещё вопрос: такой метод нужно только на XP применять или глобально?
Аватара пользователя
Mellomann
Сообщения: 709
Зарегистрирован: Пн сен 07, 2009 00:44

Сообщение Mellomann »

Если для установщика - есть смысл присмотреться к 7z-sfx-button, у него что-то подобное было.

А какие конкретно действия будет делать установщик? Доставлять плагины, утильки, накатывать дрова, заменять?
В любом случае, намного проще было бы создать один универсальный установщик, чем возиться с его разделением.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Mellomann писал(а):Если для установщика - есть смысл присмотреться к 7z-sfx-button, у него что-то подобное было.
Для неё и делается. :lol: Дальше, думаю, понятно..
P.S.: Нет, всё-таки топики читать надо..
Аватара пользователя
gora
Сообщения: 442
Зарегистрирован: Чт дек 30, 2004 13:09
Откуда: Иваново

Сообщение gora »

Flasher писал(а):что именно срабатывает ненадёжно
С начала прошлой страницы и до Вашего поста
Flasher писал(а):Так, понятно. Значит, что я могу тут предложить:
1) Проверять только по присутсвию 64 на конце базового имени exe-ника.
2) Проверять версию OS, если XP, то - по имени, если нет, то - как обычно.
Flasher писал(а):кусок исправленного кода можно увидеть?
Я его не правил.
Flasher писал(а):Да, и ещё вопрос: такой метод нужно только на XP применять или глобально?
Привязка к версии системы крайне не желательна. Скрипт должен работать на Win XP и выше любой разрядности.

Добавлено спустя 3 минуты:
Mellomann писал(а):есть смысл присмотреться к 7z-sfx-button
Улыбнуло! :)
Win7 SP1 Ultimate x64, TC8.52a x64
Ответить