1

Тема: VBS: Отвязать системный диалог от wscript

Вызываю какой-то диалог через InvokeVerbEx или DoIt в Shell.Application. После завершения скрипта диалог схлопывается. Есть ли возможность отвязаться от потока или убрать промежуточное звено (wscript) в потоке?

2

Re: VBS: Отвязать системный диалог от wscript

AS ALWAYS... Код в студию...

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

3

Re: VBS: Отвязать системный диалог от wscript

Значит, не сталкивались.)
На примере вызова окна состояния подключения по ЛС:

CreateObject("Shell.Application").NameSpace(&H31).Items.Item(0).InvokeVerbEx "Status"
'WScript.Sleep 2000

4

Re: VBS: Отвязать системный диалог от wscript

Flasher пишет:

Значит, не сталкивались.)

Не надо недооценивать людей . Ваш код может быть написан множеством способов. Всегда проще работать с тем что видишь.


With GetObject("new:{C08AFD90-F2A1-11D1-8455-00A0C91F3880}")
    .document.Application.NameSpace(&H31).Items.Item(0).InvokeVerbEx("Status")
    .Quit
End With
Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

5 (изменено: Flasher, 2012-03-02 17:16:36)

Re: VBS: Отвязать системный диалог от wscript

Xameleon пишет:

Не надо недооценивать людей . Ваш код может быть написан множеством способов. Всегда проще работать с тем что видишь.

Я про саму ситуацию. Если человек сталкивался с подобным, то сразу понимает, о чём речь. А оценка чьих-то способностей тут вовсе не давалась. Кстати, какие ещё есть способы (кроме DoIt, конечно)?

Xameleon пишет:

Вариант конечно не айс, есть свои минусы, но в принципе можно наверное и так. ) Будет время - допилю...

Спасибо уже на этом! Немного медленнее, но уже - результат. Не подскажете, где почитать про ".document.Application"?

Допил вне сомнения приветствуется. Кстати, на чём он основан? Формирование отсутствующего CLSID?

6

Re: VBS: Отвязать системный диалог от wscript

Flasher пишет:

Я про саму ситуацию. Если человек сталкивался с подобным, то сразу понимает, о чём речь. А оценка чьих-то способностей тут вовсе не давалась.

Ок )

Flasher пишет:

Кстати, какие ещё есть способы (кроме DoIt, конечно)?

Способы для чего (достижения какого результата / выполнения какой задачи ) ?

Flasher пишет:

Не подскажете, где почитать про ".document.Application"?

Про document.Application вы можете почитать на MSDN по теме WebBrowser. Но тут несколько иной случай. ) Данный объект олицетворяет создание объекта окна Explorer-а в памяти.

Подробнее в теме WSH: обмен данными и объектами между скриптами — 2

Flasher пишет:

Допил вне сомнения приветствуется. Кстати, на чём он основан? Формирование отсутствующего CLSID?

Уже допилил. ) Нет. Это существующий классид. ) Он зарегистрирован в TLB библиотеки shdocvw.dll.

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

7

Re: VBS: Отвязать системный диалог от wscript

Xameleon пишет:

Способы для чего (достижения какого результата / выполнения какой задачи ) ?

Так Вы написали: Ваш код может быть написан множеством способов. Об этих способах и речь.

Xameleon пишет:

Про document.Application вы можете почитать на MSDN по теме WebBrowser.

Ладно, поищу что-нибудь на русском.

Xameleon пишет:

Но тут несколько иной случай. ) Данный объект олицетворяет создание объекта окна Explorer-а в памяти.
Подробнее в теме[/url]

Ценная информация, спасибо. Главное, что отдельный процесс не создаёт.) А тему перед тем как спрашивать смотрел, но толком не разобрался.

Xameleon пишет:

Нет. Это существующий классид. ) Он зарегистрирован в TLB библиотеки shdocvw.dll.

Что-то поиск по реестру мне не дал результата.

8

Re: VBS: Отвязать системный диалог от wscript

Flasher пишет:

Об этих способах и речь.

Подустал я сегодня, чтоб ещё и примеры придумывать. ) Пятница всё таки.

Flasher пишет:

Ладно, поищу что-нибудь на русском.

Ну на русском маловероятно и не так подробно.
Ссылки вот

http://msdn.microsoft.com/en-us/library … s.85).aspx
http://msdn.microsoft.com/en-us/library … s.85).aspx

Но боюсь Вам так будет довольно сложно разобраться. Потому что это уже "хвосты", а начало идёт от коллекции "IShellWindows.", которую нам любезно предоставила корпорация мелкомягких в виде интерфейса.

Flasher пишет:

А тему перед тем как спрашивать смотрел, но толком не разобрался.

Вот это как раз и зря. )

Flasher пишет:

Что-то поиск по реестру мне не дал результата.

Естественно. Я же уточнил, что он зарегистрирован в TLB библиотеки shdocvw.dll. Про реестр речи не было. Настоятельно рекомендую перечитать тему с обменом данными между процессами. Там всё это обсуждалось. )

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

9

Re: VBS: Отвязать системный диалог от wscript

Xameleon пишет:

Подустал я сегодня, чтоб ещё и примеры придумывать. ) Пятница всё таки.

Один хотя бы, чтобы слова не были брошены на ветер.

Xameleon пишет:

Ссылки вот
Но боюсь Вам так будет довольно сложно разобраться. Потому что это уже "хвосты", а начало идёт от коллекции "IShellWindows.", которую нам любезно предоставила корпорация мелкомягких в виде интерфейса.

Понятно. Поковыряюсь, в общем. Несколько книг на русском имеется.

Xameleon пишет:

Вот это как раз и зря. )

Это не зря, это - увы.)

Xameleon пишет:

Естественно. Я же уточнил, что он зарегистрирован в TLB библиотеки shdocvw.dll. Про реестр речи не было. Настоятельно рекомендую перечитать тему с обменом данными между процессами. Там всё это обсуждалось. )

А, UUID, значит. CLSID в реестре хранятся. Ок. Внимательней подойду к вопросу, спасибо за рекомендацию.

10

Re: VBS: Отвязать системный диалог от wscript

Flasher пишет:

Один хотя бы, чтобы слова не были брошены на ветер.

На сколько я понимаю, мы все здесь не для соревнования кто умнее (по крайней мере я), а для помощи друг другу и расширения собственного кругозора. Две вариации кода Вы уже наблюдаете. Я думаю этим вполне можно ограничиться. Результат достигнут. Под фразой "Ваш код может быть написан множеством способов", я подразумевал что код может быть написан разным стилем, а не то что есть какие то другие вариации работы c ShellApplication. Как я уже говорил - "Всегда проще работать с тем что видишь". Поэтому и попросил показать код. Надеюсь я ответил на Ваш вопрос.

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

11 (изменено: Flasher, 2012-03-03 09:01:10)

Re: VBS: Отвязать системный диалог от wscript

Xameleon пишет:

На сколько я понимаю, мы все здесь не для соревнования кто умнее (по крайней мере я), а для помощи друг другу и расширения собственного кругозора.

Совершенно точно. В моей фразе нужно искать стимул для удовлетворения моего интереса. Другие способы могут оказаться полезней иных в других ситуациях.

Xameleon пишет:

Под фразой "Ваш код может быть написан множеством способов", я подразумевал что код может быть написан разным стилем, а не то что есть какие то другие вариации работы c ShellApplication.

Вот если бы было написано "стилем", то и просьбы не последовало бы. Способ - это всё же нечно иное.

Xameleon пишет:

Надеюсь я ответил на Ваш вопрос.

В последний раз я вопросов не задавал.