201

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

teadrinker пишет:

Так как объект с CLSID {C08AFD90-F2A1-11D1-8455-00A0C91F3880} — это обычный объект Shell Window, то в качестве подобного контейнера может быть использовано любое существующее окно Проводника, например Рабочий стол. Я не владею WSH, поэтому пример на AHK (который, думаю, легко переписать на vbs).
Первый скрипт:

#Requires AutoHotkey v2
Persistent

VT_UI4 := 0x13, SWC_DESKTOP := 0x8
shellWindows := ComObject('Shell.Application').Windows
desktopShellWindow := shellWindows.Item(ComValue(VT_UI4, SWC_DESKTOP))
desktopShellWindow.PutProperty('myObj', {key: 'Hello!'})

Второй скрипт:

#Requires AutoHotkey v2

VT_UI4 := 0x13, SWC_DESKTOP := 0x8
shellWindows := ComObject('Shell.Application').Windows
desktopShellWindow := shellWindows.Item(ComValue(VT_UI4, SWC_DESKTOP))
MsgBox desktopShellWindow.GetProperty('myObj').key

Одна проблема: если Проводник перезапустить, данные будут потеряны.

Так это и было понятно с первого раза. Передача инфы только через память локального компа на котором крутятся скрипты.
Поэтому  с сетью "такое" не прокатит. Хотя как утверждает Микрософт "сериализация" их  такое может сделать

202

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

Если было понятно "с первого раза", то зачем создавать новый объект Shell Window, когда Рабочий стол всегда имеется?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

203

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

teadrinker Так у вас тоже организуется ссылка на рабочий стол. И в том скрипте у НЕГО, тоже также. А вот поиск у НЕГО той проги которая задействована для передачи осуществляется через поиск атрибута, записанного как метка в 1.vbs. С вашим рабочий столом никакой проверки не надо делать вообще. На тот момент наверное не было вообще представление того что у всех СОМ микрософта есть этот GetProperty. Но возможно на тот момент у микрософта не было ещё у  рабочего стола этого. Со временем всё меняется, всё развивается.

204

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

3wedsmncjklvjvd73734 пишет:

Так у вас тоже организуется ссылка на рабочий стол. И в том скрипте у НЕГО, тоже также.

Судя по всему, вы так и не поняли, что происходит в скрипте. В изначальном скрипте создаётся новое окно, скрытое (и никакой ссылки на рабочий стол там нет), а я использую существующее, в этом разница.

3wedsmncjklvjvd73734 пишет:

На тот момент наверное не было вообще представление того что у всех СОМ микрософта есть этот GetProperty

Почему у всех, только у Shell Window, который реализует IWebBrowser2 interface.

3wedsmncjklvjvd73734 пишет:

Но возможно на тот момент у микрософта не было ещё у  рабочего стола этого

Это маловероятно, Рабочий стол — это такое же окно, как и другие окна Проводника, и его объект Shell Window также реализует IWebBrowser2.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder