Запуск VBS Sub из C # - PullRequest
       8

Запуск VBS Sub из C #

5 голосов
/ 09 марта 2010

Можно ли выполнить конкретную подпрограмму в файле VBS из приложения c #?

Я смотрел на создание Процесса, а затем на его запуск, но не могу найти способ указать, какую именно подпрограмму в файле сценария следует выполнить. Есть ли способ указать это или есть лучший способ сделать это?

VBS может выглядеть примерно так, как показано ниже. Я хочу, чтобы из кода C # запускался либо test1, либо test2.

Public Sub test1
    msgbox "Hey1"
End Sub

Public Sub test2
    msgbox "Hey2"
End Sub

Ответы [ 2 ]

1 голос
/ 09 марта 2010

Вы используете COM-компонент Windows Script Control и вызываете его метод Run. Вот полезная ссылка с примерами кода .

1 голос
/ 09 марта 2010

При использовании Visual Basic (без .Net) для этого я использовал Script Control .

Эта страница содержит некоторую документацию, как вызвать его из старого доброго VB.

Синтаксис выглядит примерно так:

  Result = ScriptControl.Run("Name", arg1, arg2, ... argn)

Редактировать (после прочтения комментария): Если вам не нужен VBScript для запуска в вашем контексте (если вы не делитесь объектами), вы можете создать небольшое приложение, которое запускает сценарий вне процесса. Ваше основное приложение - 64-битное, вспомогательное - 32-битное. Вы по-прежнему можете передавать простые параметры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...