Страница 1 из 2
Cделать открытие ярлыка на рабочую группу в панели TCMD
Добавлено: Чт июн 24, 2010 17:48
mar1boro
Помогите пожалуйста с хитрой задачей.... сразу скажу что команды типа cd мне не помогут. Дело вот в чем: в windows 7 скопировал ярлык из windows xp на рабочую группу. Если открываем этот ярлык в explorer, то компьютеры в рабочей группе видны с описанием в скобках. Если просто заходим в рабочую группу через windows explorer, то windows 7 не показывает описания и включить их нельзя. Нужно чтобы список компьютеров группы открывался в панели TCMD как будто я запускаю ярлык из самого TCMD в левой или правой панели, т.е. чтобы команда TCMD работала с ярлыком а не с путем к месту в сети.
Добавлено: Чт июн 24, 2010 19:06
Flasher
Кроме NetworkAlt и
скрипта в голову ничего не приходит, и вопрос о рабочей группе уже задавался, проблема вряд ли как-то иначе может решаться. Сомневаюсь, что кто-то здесь возмётся спецом под Ваш ярлык скрипт писать, проще по новой всё ввести ручками.
Добавлено: Пт июн 25, 2010 01:02
mar1boro
Flasher, извините за неосведомленность в подобных вопросах, но где и что нужно "ручками" ввести? я никогда не работал со скриптами и не догадаюсь сам что к чему ( я так понимаю, нужно сделать какой-то script.vbs , в котором будет команда для запуска моего shortcut.lnk. после нужно поместить ярлык на script.vbs на понель инструментов или назначить на сочетание клавиш. Смысл в том что скрипт должен описывать запуск ярлыка именно средствами тотала, а не проводника windows. Помогите пожалуйста найти хотя бы похожее решение чтобы переделать под свою задачу.
Добавлено: Пт июн 25, 2010 02:07
Flasher
mar1boro
Я говорю о том, чтобы заново воссоздать список для этой рабочей группы, взяв информацию из ярлыка. Ну а запустить lnk и так можно в ТС, только я так понимаю, необходимость возникла запускать список внутри ТС с учётом спрятанной информации в ярлыке. Тут, ИМХО, никакой скрипт не поможет. Да и наверняка нужно видеть содержимое самого ярлыка, чтобы понять с чем иметь дело. А ту ссылку я дал на несколько устаревший скрипт для обычного запуска папки WorkGroup в Сетевом окружении, имитирующий нажатия клавиш для быстрого входа в первую рабочую группу в уже готовом списке, ничего интересного там для данного случая нет. Функционал ТС в работе с сетями достаточно ограничен, поэтому кроме названного плагина и LanSeeker ничего предложить по существу не могу, разве что сторонние утилиты.
Добавлено: Пт июн 25, 2010 02:15
mar1boro
Flasher, вот мне хоть бы так подошло как в вышеназванном скрипте под workgroup: там же имитируется переход по папкам средствами TCMD. Так мне бы точно также сделать имитацию открытия папки D:\folder и запуска shortcut.lnk - т.е. что-то типа макроса чтобы активировалась панель, выполнился переход в папку и запустился ярлык в этой папке.
Добавлено: Пт июн 25, 2010 02:33
Flasher
Я не пойму, нужно просто из ТС открыть ярлык, который активирует Explorer, или нужно, чтобы в панели ТС открылся список из этого ярлыка? Второе, сразу говорю, не получится, поэтому и пишу про воссоздание списка самостоятельно заново, тогда можно будет посматривать его в сетевом окружении (Вся сеть), для автоматического входа в который, если надо, использовать скрипт.
Добавлено: Пт июн 25, 2010 02:38
mar1boro
Flasher, есть правильный ярлык, который нормально показывает все как нужно, если поставить на него курсор в одной из панелей TCMD и нажать ввод. Задача: сделать запуск этого ярлыка на кнопку панели инструментов и назначить сочетание клавиш.
Если просто перетягиваю ярлык на панель инструментов, то ярлык запускается в проводнике windows (список открывается там), поэтому нужно именно эмулировать запуск из панели TCMD.
Flasher писал(а):Второе, сразу говорю, не получится
почему? как я выше написал, ярлык при запуске из оболочки TCMD работатет как нужно - показывает список в нужном мне виде, с описаниями и в панели tcmd.
Добавлено: Пт июн 25, 2010 03:07
Flasher
А, ну тогда так: RunWorkGroup.vbs >
- 'Открыть рабочую группу
Dim TCS
Set TCS = CreateObject("TCScript.Helper")
TCS.LockTC True
TCS.SendCommand "cm_FocusCmdLine"
TCS.SendKeystroke "cd " & путь_к_ярлыку.lnk
TCS.Pause = 200
TCS.SendKeystroke "{ENTER 2}"
Set TCS = Nothing
Wscript.Quit
Учить как делается простая кнопка и то, как создавать пользовательскую команду и горячую клавишу для неё надеюсь не надо, это уже описывалось на форуме десятки раз, и в справке по ТС всё есть на эту тему.
Добавлено: Пт июн 25, 2010 03:19
mar1boro
Flasher, спасибо преогромное за помощь и внимание.
Учить как делается простая кнопка и то, как создавать пользовательскую команду и горячую клавишу для неё надеюсь не надо, это уже описывалось на форуме десятки раз, и в справке по ТС всё есть на эту тему.
учить не надо, почитаю

Добавлено: Пт июн 25, 2010 04:11
mar1boro
Flasher, все получилось, еще раз спасибо. Даже TCWSHelp.exe установил
Единственное, что скрипт останавливался на том, что курсор переходил на нужный ярлык, но запуск не происходил. После того как сделал строчку в скрипте
2 раза подряд, все стало работать как нужно. Почему так?
Паузу убрал, работает без нее.
и окошко TCWSHelp на мгновение появляется при выполнении - никак не избавиться?
Добавлено: Пт июн 25, 2010 11:40
Flasher
mar1boro писал(а):2 раза подряд, все стало работать как нужно. Почему так?
Всё верно, забыл двойку поставить, добавил в скрипте. Сначала происходит ввод из комстроки, потом ввод из панели самого ярлыка. Кстати, путь к ярлыку должен быть в латинице.
mar1boro писал(а):и окошко TCWSHelp на мгновение появляется при выполнении - никак не избавиться?
Какое окошко? Не понял. Откуда ему взяться?
Добавлено: Пт июн 25, 2010 12:17
mar1boro
Какое окошко? Не понял. Откуда ему взяться?
когда на кнопку нажимаю чтобы скрипт выполнить, на мгновение белым мигает в правом нижнем углу область примерно в полэкрана шириной и в треть высотой. я думал это TCWSHelp так отрабатывает. Не должно быть такого?
и еще что заметил: если текущая раскладка клавиатуры русская, то скрипт выполняется с ошибками. Может как-то в скрипте добавить строки принудительной смены раскладки на английскую?
Добавлено: Пт июн 25, 2010 12:48
Flasher
mar1boro писал(а):Не должно быть такого?
Должно. Это сглаживается восприятие командой
TCS.LockTC True, можно убрать её, и тогда весь процесс работы скрипта будет виден.
mar1boro писал(а):и еще что заметил: если текущая раскладка клавиатуры русская, то скрипт выполняется с ошибками.
Я же написал >>
Flasher писал(а):Кстати, путь к ярлыку должен быть в латинице.
Ярлык-то один, запихнуть его в такую папку разве проблема?
SendKeystroke имитирует нажатия, раскладку он переключать не умеет. Да и сомневаюсь, что есть скрипт для этого, тут нужна программа с собственными словарями, которая имеет свой инструмент автозамены текста/раскладки, известные мне программы с такой задачей не справятся, если учитывать то, что они не всегда воспринимают слеш как разделитель и своеобразные названия папок в пути.
Добавлено: Пт июн 25, 2010 12:55
sa
mar1boro писал(а):Может как-то в скрипте добавить строки принудительной смены раскладки на английскую?
Если настроить в региональных стандартах переключение на английский язык на Ctrl+Shift+1, то строка смены раскладки на английскую будет такой:
Путь к ярлыку, по-моему, может быть и на русском.
Добавлено: Пт июн 25, 2010 13:00
mar1boro
Flasher, так в том-то и дело: все на латинице. Вот моя строчка:
Код: Выделить всё
TCS.SendKeystroke "cd " & "d:\Documents\hard.lnk"
может punto как-то мешает? тут дело скорее всего не в пути, а в том , что стороку скрипт набирает в текущей раскладке. И если она русская то скрипт наберет вместо "
а punto не может быть замешан?