Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запуск Visual Basic скрипта строкой из С++ проги 
:(
    Опции темы
zone51
Дата 27.4.2008, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 17.2.2006

Репутация: нет
Всего: 1



Народ, есть визуал бейсик скрипт в виде строки в программе. Как ее заставить ывполняться как обычный визуал бейсик скрипт в винде?

Код

void __fastcall ShowWindow(){

   char *action="Const VIDEO_PLAYER = 'C:\Program Files\Light Alloy\LA.exe '" \
                 "Const POS_LEFT = 100" \
                 "Const POS_TOP = 100"  \
                 "Set util = CreateObject('UltraMon.Utility')" \
                 "If util.Run(VIDEO_PLAYER & \" \"\"\" & WScript.Arguments(0) & \"\"\"\") = True Then" \
                    "util.Sleep 1000 'wait 1 second, required for Windows Media Player" \
                    "Set wnd = CreateObject('UltraMon.Window')" \
                    "If wnd.GetAppMainWindow(util.ProcessId, 5000) = True Then" \
                      "wnd.Left = POS_LEFT" \
                      "wnd.Top = POS_TOP" \
                      "wnd.ApplyChanges 0" \
                    "End If" \
                 "End If";

//   WinExec(action,SW_HIDE);

}


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


--------------------
The truth is out there
PM MAIL   Вверх
bronislav
Дата 27.4.2008, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 334
Регистрация: 29.1.2008
Где: Украина::Донецк

Репутация: нет
Всего: 3



Ну как вариант можешь записать эту строку в файл с расширением .vbs и попробовать выполнить его командой WinExex?

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


--------------------
user posted image
иногда проще и быстрей обойти лужу, даже если кажется что она мелкая и путь напрямик короче - ведь она может скрывать открытый люк (с) mes
PM MAIL   Вверх
xvr
Дата 28.4.2008, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



Цитата(zone51 @ 27.4.2008,  22:43)
Народ, есть визуал бейсик скрипт в виде строки в программе. Как ее заставить ывполняться как обычный визуал бейсик скрипт в винде?

Код

void __fastcall ShowWindow(){

   char *action="Const VIDEO_PLAYER = 'C:\Program Files\Light Alloy\LA.exe '" \
                 "Const POS_LEFT = 100" \
                 "Const POS_TOP = 100"  \
                 "Set util = CreateObject('UltraMon.Utility')" \
                 "If util.Run(VIDEO_PLAYER & \" \"\"\" & WScript.Arguments(0) & \"\"\"\") = True Then" \
                    "util.Sleep 1000 'wait 1 second, required for Windows Media Player" \
                    "Set wnd = CreateObject('UltraMon.Window')" \
                    "If wnd.GetAppMainWindow(util.ProcessId, 5000) = True Then" \
                      "wnd.Left = POS_LEFT" \
                      "wnd.Top = POS_TOP" \
                      "wnd.ApplyChanges 0" \
                    "End If" \
                 "End If";

//   WinExec(action,SW_HIDE);

}


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

Создать IActiveScript  engine для VBS, получить у него IActiveScriptParse интерфейс и скормить ему твой скрипт в виде строки через метод ParseScriptText


PM MAIL   Вверх
zone51
Дата 28.4.2008, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 17.2.2006

Репутация: нет
Всего: 1



xvr, 
А не поможете это сделать?
Очень нужно, буду благодарен любой помощи.
Заранее спасибо


--------------------
The truth is out there
PM MAIL   Вверх
zone51
Дата 28.4.2008, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 17.2.2006

Репутация: нет
Всего: 1



bronislav,
Команда WinExec работает тока с экзешниками. скрипты не распознает.


--------------------
The truth is out there
PM MAIL   Вверх
xvr
Дата 28.4.2008, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



Цитата(zone51 @ 28.4.2008,  15:29)
xvr, 
А не поможете это сделать?
Очень нужно, буду благодарен любой помощи.
Заранее спасибо

Помочь могу, но этот код в том виде как есть не заработает - он использует объекты из WScript хоста, а он есть только под соотвествующим хостом. Если можно записать код в файл, то можно его запустить через wscript или cscript (просто подать имя файла со скриптом параметром). wscript - оконный хост, cscript - консольный хост. Расширение файла должно быть .vbs


PM MAIL   Вверх
zone51
Дата 28.4.2008, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 370
Регистрация: 17.2.2006

Репутация: нет
Всего: 1



xvr, 
понимаете у меня не стоит принципиально сделать это строкой если можно то и файлом пойдет только как?
А то чт овы описали вряд ли прокатит-приложение будет работать на многих машинах. Спасибо


--------------------
The truth is out there
PM MAIL   Вверх
xvr
Дата 29.4.2008, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



Цитата(zone51 @ 28.4.2008,  21:18)
xvr, 
понимаете у меня не стоит принципиально сделать это строкой если можно то и файлом пойдет только как?
А то чт овы описали вряд ли прокатит-приложение будет работать на многих машинах. Спасибо

Прокатит: wscript.exe и cscript.exe стандартные тулзы Windows, лежат в %WINDIR%\System32

PM MAIL   Вверх
Rififi
Дата 29.4.2008, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1254
Регистрация: 9.3.2008

Репутация: 11
Всего: 36



zone51, 
записать в файл и ShellExecute[Ex]
PM MAIL   Вверх
SABROG
Дата 29.4.2008, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Hacker
****


Профиль
Группа: Завсегдатай
Сообщений: 2481
Регистрация: 18.9.2006

Репутация: 4
Всего: 91



Вот хороший туториал как прикрутить скрипт к проге. Правда реализован на ассемблере, зато там дока есть и более менее все понятно на уровне API, а не оберток. http://ourworld.compuserve.com/homepages/e...ld/scripter.zip


--------------------
Национальная группа Russian Federation на QtCentre.
PM MAIL   Вверх
xvr
Дата 29.4.2008, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



Цитата(SABROG @ 29.4.2008,  11:56)
Вот хороший туториал как прикрутить скрипт к проге. Правда реализован на ассемблере, 

Это тюториал для мазохистов  smile 
Цитата

зато там дока есть и более менее все понятно на уровне API, 
На доку я уже давал тут ссылку: MSDN / IActiveScript, что собственно этот тюториал и реализует. Вот только работать не будет - ну нет в голом VBS Active Script Engine объектов WScript, а нужны.  smile 
Цитата

а не оберток. 
А вот обвертка будет работать, в отличии от ...

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0614 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.