Vb6 запуск программы (*.exe) на сетевом компьютере

12.05.2016
1
0
#1
Добрый вечер.
На этом форуме я новичок, а также с VB6 имею не сильно большой опыт работы, так как больше приходится работать с VBScript в WinCC.

Буду очень благодарен, если посоветуете как лучше решить такую задачу:

Есть два компа (Windows 7 64bit), соединены между собой сетевым кабелем (домена нет, оба в workgroup), у первого IP 172.168.0.1 у второго 172.168.0.2. На первом постоянно работает WinCC Runtime и каждые 5 сек сохраняет мне данные (через VBScript) в открытую папку на втором компе в виде *.txt файла.
Второй комп нужен только для Excel, в котором в таблице 1 с именем "abc" будут в активном режиме (т.е. тогда, когда сам документ открыт, обязательное условие) добавляться каждые 5 сек новые данные из txt файла. Для этого я написал скрипт в VB6 и сохранил его как *.exe на втором компе. Он создает xlsx документ, в нем добавляет таблицу с именем "abc", читает данные из файла txt и записывает их в xlsx.
Суть задачи состоит в том, что запускать этот exe файл нужно тогда, когда в txt документ добавил новые значения из первого компа. Как это лучше реализовать? Всю эту задачу, в случае использования одного компа, я решил одним скриптом. Но теперь нужно этот документ xlsx сохранять и обновлять в активном режиме на втором компе.

Пробовал сегодня сделать через psexec, но это не вариант, так как слишком долго думает. Хотелось бы решить это с помощью bat файла, в котором будет указан IP второго компа и путь к файлу exe или производить запуск файла сразу из VBScript.

Заранее большое спасибо!
 
06.09.2017
10
1
28
#2
Прописать скрипт а автозагрузку на втором компе, но для этого локально или удаленно придется залезть на второй комп.
 

Breed

Well-Known Member
18.06.2017
215
224
#3
Перечитывал раз 10 условие, но не уверен, что до конца понял. Но заинтересовало.
На мой взгляд, немного сбивчиво
На первом постоянно работает WinCC Runtime и каждые 5 сек сохраняет мне данные (через VBScript) в открытую папку на втором компе в виде *.txt файла.
Второй комп нужен только для Excel, в котором в таблице 1 (зачем указано имя?) с именем "abc" будут в активном режиме (т.е. тогда, когда сам документ открыт (на первом или на втором ПК?), обязательное условие) добавляться каждые 5 сек новые данные из txt файла. Для этого я написал скрипт в VB6 и сохранил его как *.exe на втором компе. Он создает xlsx документ (открывает его или нет?), в нем добавляет таблицу с именем "abc", читает данные из файла txt и записывает их в xlsx.
Для того, как мне уяснилось, у меня появилось два решения:
  1. Постоянная принудительная синхронизация и дублирование выполняемых задач
  2. Удаленное управление
Поясню.
1) Оттолкнемся от фразы
Всю эту задачу, в случае использования одного компа, я решил одним скриптом
Значит, на одном компе задача решена?
В таком случае предлагаю либо дублировать все процессы на втором (сделать на втором копии решаемых задач первого), либо получить на втором только отражение происходящего на первом.
В W10 есть встроенные средства синхронизации папок и файлов, в W7 придется применять сторонние решения, типа GoodSync: выбирается в настройках "Синхронизация - постоянно (или с периодичностью)" и указывается скорость синхронизации. Таким образом, малейшие изменения в ТХТ на одном ПК приведут к изменению его дубля на втором. До версии 9.9.30.* в настройках была возможность после синка указать выполняемый сценарий и задать время - очень бы пригодилось, но в обновленных версиях этот функционал кастрировали до преданализного сценария и отправки уведомлений по окончании.
2) Просто используем любую из программ управления по аналогии с RAdmin, X2Go и им подобных по принципу: второй ПК - монитор для первого или наоборот. Отключаем заставку.