Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Cделать открытие ярлыка на рабочую группу в панели TCMD
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
mar1boro



Joined: 24 Jun 2010
Posts: 24

Post (Separately) Posted: Thu Jun 24, 2010 17:48    Post subject: Cделать открытие ярлыка на рабочую группу в панели TCMD Reply with quote

Помогите пожалуйста с хитрой задачей.... сразу скажу что команды типа cd мне не помогут. Дело вот в чем: в windows 7 скопировал ярлык из windows xp на рабочую группу. Если открываем этот ярлык в explorer, то компьютеры в рабочей группе видны с описанием в скобках. Если просто заходим в рабочую группу через windows explorer, то windows 7 не показывает описания и включить их нельзя. Нужно чтобы список компьютеров группы открывался в панели TCMD как будто я запускаю ярлык из самого TCMD в левой или правой панели, т.е. чтобы команда TCMD работала с ярлыком а не с путем к месту в сети.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Thu Jun 24, 2010 19:06    Post subject: Reply with quote

Кроме NetworkAlt и скрипта в голову ничего не приходит, и вопрос о рабочей группе уже задавался, проблема вряд ли как-то иначе может решаться. Сомневаюсь, что кто-то здесь возмётся спецом под Ваш ярлык скрипт писать, проще по новой всё ввести ручками.
Back to top
View user's profile Send private message
mar1boro



Joined: 24 Jun 2010
Posts: 24

Post (Separately) Posted: Fri Jun 25, 2010 01:02    Post subject: Reply with quote

Flasher, извините за неосведомленность в подобных вопросах, но где и что нужно "ручками" ввести? я никогда не работал со скриптами и не догадаюсь сам что к чему ( я так понимаю, нужно сделать какой-то script.vbs , в котором будет команда для запуска моего shortcut.lnk. после нужно поместить ярлык на script.vbs на понель инструментов или назначить на сочетание клавиш. Смысл в том что скрипт должен описывать запуск ярлыка именно средствами тотала, а не проводника windows. Помогите пожалуйста найти хотя бы похожее решение чтобы переделать под свою задачу.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Jun 25, 2010 02:07    Post subject: Reply with quote

mar1boro
Я говорю о том, чтобы заново воссоздать список для этой рабочей группы, взяв информацию из ярлыка. Ну а запустить lnk и так можно в ТС, только я так понимаю, необходимость возникла запускать список внутри ТС с учётом спрятанной информации в ярлыке. Тут, ИМХО, никакой скрипт не поможет. Да и наверняка нужно видеть содержимое самого ярлыка, чтобы понять с чем иметь дело. А ту ссылку я дал на несколько устаревший скрипт для обычного запуска папки WorkGroup в Сетевом окружении, имитирующий нажатия клавиш для быстрого входа в первую рабочую группу в уже готовом списке, ничего интересного там для данного случая нет. Функционал ТС в работе с сетями достаточно ограничен, поэтому кроме названного плагина и LanSeeker ничего предложить по существу не могу, разве что сторонние утилиты.
Back to top
View user's profile Send private message
mar1boro



Joined: 24 Jun 2010
Posts: 24

Post (Separately) Posted: Fri Jun 25, 2010 02:15    Post subject: Reply with quote

Flasher, вот мне хоть бы так подошло как в вышеназванном скрипте под workgroup: там же имитируется переход по папкам средствами TCMD. Так мне бы точно также сделать имитацию открытия папки D:\folder и запуска shortcut.lnk - т.е. что-то типа макроса чтобы активировалась панель, выполнился переход в папку и запустился ярлык в этой папке.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Jun 25, 2010 02:33    Post subject: Reply with quote

Я не пойму, нужно просто из ТС открыть ярлык, который активирует Explorer, или нужно, чтобы в панели ТС открылся список из этого ярлыка? Второе, сразу говорю, не получится, поэтому и пишу про воссоздание списка самостоятельно заново, тогда можно будет посматривать его в сетевом окружении (Вся сеть), для автоматического входа в который, если надо, использовать скрипт.
Back to top
View user's profile Send private message
mar1boro



Joined: 24 Jun 2010
Posts: 24

Post (Separately) Posted: Fri Jun 25, 2010 02:38    Post subject: Reply with quote

Flasher, есть правильный ярлык, который нормально показывает все как нужно, если поставить на него курсор в одной из панелей TCMD и нажать ввод. Задача: сделать запуск этого ярлыка на кнопку панели инструментов и назначить сочетание клавиш.
Если просто перетягиваю ярлык на панель инструментов, то ярлык запускается в проводнике windows (список открывается там), поэтому нужно именно эмулировать запуск из панели TCMD.


Flasher wrote:
Второе, сразу говорю, не получится
почему? как я выше написал, ярлык при запуске из оболочки TCMD работатет как нужно - показывает список в нужном мне виде, с описаниями и в панели tcmd.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Jun 25, 2010 03:07    Post subject: Reply with quote

А, ну тогда так: 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

Учить как делается простая кнопка и то, как создавать пользовательскую команду и горячую клавишу для неё надеюсь не надо, это уже описывалось на форуме десятки раз, и в справке по ТС всё есть на эту тему.


Last edited by Flasher on Fri Jun 25, 2010 11:37; edited 1 time in total
Back to top
View user's profile Send private message
mar1boro



Joined: 24 Jun 2010
Posts: 24

Post (Separately) Posted: Fri Jun 25, 2010 03:19    Post subject: Reply with quote

Flasher, спасибо преогромное за помощь и внимание.


Quote:
Учить как делается простая кнопка и то, как создавать пользовательскую команду и горячую клавишу для неё надеюсь не надо, это уже описывалось на форуме десятки раз, и в справке по ТС всё есть на эту тему.


учить не надо, почитаю Smile
Back to top
View user's profile Send private message
mar1boro



Joined: 24 Jun 2010
Posts: 24

Post (Separately) Posted: Fri Jun 25, 2010 04:11    Post subject: Reply with quote

Flasher, все получилось, еще раз спасибо. Даже TCWSHelp.exe установил Smile

Единственное, что скрипт останавливался на том, что курсор переходил на нужный ярлык, но запуск не происходил. После того как сделал строчку в скрипте
Code:
TCS.SendKeystroke "{ENTER}"
2 раза подряд, все стало работать как нужно. Почему так?
Паузу убрал, работает без нее.
и окошко TCWSHelp на мгновение появляется при выполнении - никак не избавиться?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Jun 25, 2010 11:40    Post subject: Reply with quote

mar1boro wrote:
2 раза подряд, все стало работать как нужно. Почему так?
Всё верно, забыл двойку поставить, добавил в скрипте. Сначала происходит ввод из комстроки, потом ввод из панели самого ярлыка. Кстати, путь к ярлыку должен быть в латинице.
mar1boro wrote:
и окошко TCWSHelp на мгновение появляется при выполнении - никак не избавиться?
Какое окошко? Не понял. Откуда ему взяться?

Last edited by Flasher on Fri Jun 25, 2010 12:26; edited 1 time in total
Back to top
View user's profile Send private message
mar1boro



Joined: 24 Jun 2010
Posts: 24

Post (Separately) Posted: Fri Jun 25, 2010 12:17    Post subject: Reply with quote

Quote:
Какое окошко? Не понял. Откуда ему взяться?


когда на кнопку нажимаю чтобы скрипт выполнить, на мгновение белым мигает в правом нижнем углу область примерно в полэкрана шириной и в треть высотой. я думал это TCWSHelp так отрабатывает. Не должно быть такого?

и еще что заметил: если текущая раскладка клавиатуры русская, то скрипт выполняется с ошибками. Может как-то в скрипте добавить строки принудительной смены раскладки на английскую?
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Fri Jun 25, 2010 12:48    Post subject: Reply with quote

mar1boro wrote:
Не должно быть такого?
Должно. Это сглаживается восприятие командой TCS.LockTC True, можно убрать её, и тогда весь процесс работы скрипта будет виден.
mar1boro wrote:
и еще что заметил: если текущая раскладка клавиатуры русская, то скрипт выполняется с ошибками.
Я же написал >>
Flasher wrote:
Кстати, путь к ярлыку должен быть в латинице.
Ярлык-то один, запихнуть его в такую папку разве проблема? SendKeystroke имитирует нажатия, раскладку он переключать не умеет. Да и сомневаюсь, что есть скрипт для этого, тут нужна программа с собственными словарями, которая имеет свой инструмент автозамены текста/раскладки, известные мне программы с такой задачей не справятся, если учитывать то, что они не всегда воспринимают слеш как разделитель и своеобразные названия папок в пути.
Back to top
View user's profile Send private message
sa



Joined: 29 Apr 2009
Posts: 2599

Post (Separately) Posted: Fri Jun 25, 2010 12:55    Post subject: Reply with quote

mar1boro wrote:
Может как-то в скрипте добавить строки принудительной смены раскладки на английскую?

Если настроить в региональных стандартах переключение на английский язык на Ctrl+Shift+1, то строка смены раскладки на английскую будет такой:
Code:
TCS.SendKeystroke "^+1"

Путь к ярлыку, по-моему, может быть и на русском.
Back to top
View user's profile Send private message
mar1boro



Joined: 24 Jun 2010
Posts: 24

Post (Separately) Posted: Fri Jun 25, 2010 13:00    Post subject: Reply with quote

Flasher, так в том-то и дело: все на латинице. Вот моя строчка:
Code:
TCS.SendKeystroke "cd " & "d:\Documents\hard.lnk"


может punto как-то мешает? тут дело скорее всего не в пути, а в том , что стороку скрипт набирает в текущей раскладке. И если она русская то скрипт наберет вместо "
Code:
cd " & "d:\Documents\hard.lnk"
Code:
Эсв Э ? ЭвЖ\Вщсгьутеы\рфквюдтлЭ


а punto не может быть замешан?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
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