Страница 5 из 5

Добавлено: Пт окт 09, 2015 21:26
Avada
dank1
Flasher
Полагаю, что с учётом реального наполнения тема заслуживает переноса в Автоматизацию.

И, в продолжение темы, я бы не отказался ещё от скрипта, делающего всего-навсего следующее:
Если битность TC и системы совпадают, срабатывает команда cm_OpenControls. Если запущен 32-битный TC на 64-битной системе, в Проводнике открываются все элементы Панели управления, т.е. будет ::{21EC2020-3AEA-1069-A2DD-08002B30309D}

Добавлено: Пт окт 09, 2015 22:22
Flasher
Avada
Попробуй:

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

GUID = "::{21EC2020-3AEA-1069-A2DD-08002B30309D}" 
With CreateObject("WScript.Shell") 
  Path = .Environment("Process")("COMMANDER_EXE") 
  If .Environment("System")("PROCESSOR_ARCHITECTURE") = "AMD64" And InStrRev(_ 
  CreateObject("Shell.Application").NameSpace(.Environment("Process")("COMMANDER_PATH")).ParseName(_ 
  CreateObject("Scripting.FileSystemObject").GetFileName(Path)).ExtendedProperty("FileDescription"),32)_ 
  Then  .Run GUID Else .Run """" & Path & """ /S /O /L=::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\" & GUID 
End With

Добавлено: Пт окт 09, 2015 22:41
Avada
Flasher
В 64-битном TC на x64 вообще ничего не происходит, в 32-битном выполняется, судя по всему, cm_OpenControls, которая мне именно там и не нужна. Вариант с 32-битным TC на 32-битной системе смогу проверить только завтра.

Добавлено: Пт окт 09, 2015 22:45
Flasher
Avada писал(а):в 32-битном выполняется, судя по всему, cm_OpenControls, которая мне именно там и не нужна
Нет, там открывается по cd {GUID}, как ты и просил, но это фактически то же самое что cm_OpenControls.
Почему ничего не происходит на TCx64 неясно.

Добавлено: Пт окт 09, 2015 22:56
Avada
Flasher
Похоже, либо ты меня не понял, либо я тебя. Мне в связке 32-битного TC с 64-битной системой не нужны ни cm_OpenControls, ни любой аналог, открывающий то же самое таким же образом. Тут панели TC должны быть не при делах (за явной бесполезностью в данном случае), требуется только открытие в Проводнике.

Добавлено: Пт окт 09, 2015 23:06
Flasher
Avada писал(а):ты меня не понял
Именно. Поправил. Проверь на обоих ТС.

Добавлено: Пт окт 09, 2015 23:46
Avada
Flasher
Вот это дело! На x64 — то, что требуется. На 32-битной системе проверка будет завтра.

Добавлено: Пт окт 09, 2015 23:52
Flasher
Avada
Гуд. А на 32-битной я и так проверил.

Добавлено: Пт окт 09, 2015 23:54
Avada
Flasher
Отлично. Большое спасибо.
P.S. На 32-битной XP не работает. Это можно учесть? Но проверять я смогу только по рабочим дням.

Добавлено: Сб окт 10, 2015 11:04
Flasher
Avada писал(а):Это можно учесть?
Учёл. Первую строку исправил. В XP по GUID без родителя не откроет.

Добавлено: Сб окт 10, 2015 11:32
Avada
Flasher
Да, смог проверить сразу, теперь работает. А с GUID в XP мне в данном случае и не требуется.

Добавлено: Сб окт 10, 2015 11:39
Flasher
Avada
Имелся в виду вообще любой вариант запуска (что по cd|/S /L=::{GUID} (в скрипте вместо внут. команды), что по ::{GUID} аля из комстроки).
Т.е. в XP из трёх вариантов-аналогов для последующих версий Windows в отношении запуска хоть в ТС хоть в Проводнике приемлем только последний:

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

::{21EC2020-3AEA-1069-A2DD-08002B30309D}
::{26EE0668-A00A-44D7-9371-BEB064C98683}\0
::{20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{21EC2020-3AEA-1069-A2DD-08002B30309D}
Или тебе принципиален запуск именно по внут. команде?

Добавлено: Сб окт 10, 2015 17:18
Avada
Flasher
Нет, не принципиален. Как говорится, важен не метод, а результат.

Добавлено: Сб окт 24, 2015 15:28
Flasher
Avada
Я пару дней назад правил скрипт, чтобы он ещё и в WinXPx64 работал. Понятно, что редкая птица, но мало ли. Также убрал в запуске из Проводника GUID от "Мой компьютер", чтобы он там не фигурировал в навигации, да и сам запуск в таком виде немного побыстрее будет.

Добавлено: Сб окт 24, 2015 17:46
Avada
Flasher
Понял. C 64-битной XP я пас. На 64-битной Семёрке всё нормально, на 32-битной XP посмотрю, видимо, послезавтра.