Если для неё - так и ладно, оставить только 32, как универсальную, ибо sfx ей можно приставлять любые, которые только найдутся, а памяти сверх 4 гигов и постоянного доступа в system32\ ей точно не нужно. В остальном преимущества х64 закончились.
Хотя, можно последовать примеру моей конфиги, добавляя обе версии, но для х64 и х32 использовать переключаемый бар, и просто навешивая нужную версию на нужный бар.
gora писал(а):Привязка к версии системы крайне не желательна. Скрипт должен работать на Win XP и выше любой разрядности.
Я не о работе, а о приёме. Мы же уже задейтсвуем один приём. Вот я и спрашиваю, объединить в указанный или отставить старый, добавив ещё один только для XP.
Flasher писал(а):Вот я и спрашиваю, объединить в указанный или отставить старый, добавив ещё один только для XP.
К сожалению, понять этой фразы не смог. Что мне надо, я уже описал в ветке несколько раз, способы, методы, приемы и т.д, определяете Вы, главное - 100% результат работы скрипта во всех, неоднократно упомянутых в ветке, условиях.
Ну вот, я писал-писал сегодня, а это оказывается уже не нужно (мой скрипт определяет и путь к тоталу, и разрядность).
[mod="Avada"]Несколько дальнейших постов того же посетителя были им впоследствии "отредактированы" путём полного убирания содержания. Последствия для логики дальнейшего обсуждения очевидны. Соответствующие посты удалены, комментарии даны в ЛС.[/mod]
Samwatas писал(а):Во вторых, я поднимаюсь по дереву родительских процессов на любую высоту (а не фиксированную).
В третих, при поиске тоталовского процесса я не ориентируюсь ни на имя екзешника (который очень легко изменить), ни на заголовок окна (по тем же причинам)
Я тоже.
Samwatas писал(а):ни на размер екзешника (UPX тоже никто не отменял).
Так UPX на сжатие, а я проверяю по большему, а не по меньшему.
Samwatas писал(а):Ну и подводя итоги, для решения этой задачи можно написать приложение на чистом С/С++ (результат получится гарантированно и быстрее, и меньше по размеру).
Do Until StrComp(Left(Name, 8), "totalcmd", 1) = 0 And StrComp(FSO.GetExtensionName(Name), "exe", 1) = 0
И что будет, если я изменю имя экзешника (и строка "totalcmd" будет отсутствовать вообще).
Если размер екзешника < 7 MB - это:
32битный тотал (несжатый) или 64битный тотал (сжатый)?
Flasher, спасибо.
Замечание Samwatas, на счет изменение имени, справедливо. И если принять за основу, что файл НЕ переименован, то незачем тестировать размер, ибо оригинальное имя уже несет информацию о разрядности. А если он все же переименован, то скрипт зависает (проверено).
Samwatas писал(а):У меня такой вопрос - если запустить 32б тотал из 64б тотала, то куда будет указывать %COMMANDER_PATH%?
Всегда показывает на последний ТС из которого и произведен запуск команды проверки, например из ком. строки :
gora писал(а):И если принять за основу, что файл НЕ переименован, то незачем тестировать размер, ибо оригинальное имя уже несет информацию о разрядности. А если он все же переименован, то скрипт зависает (проверено).
Преполагалось, что переименование может быть адекватным, т.е. убор 64 на конце.
Flasher писал(а):Преполагалось, что переименование может быть адекватным, т.е. убор 64 на конце.
Это сомнительно. Адекватно - это не переименовывать, а уж если предполагать переименование, то любое.
Добавлено спустя 5 минут:
Если предполагать, что пользователь не должен менять оригинальное имя и отбросить первые 9 бет версии x64 (ибо для версии x86 это значения не имеет), то вся задача решается батником в 10 строк.