Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Запуск внешнего приложения Добавлено: 12.04.07 13:59  

Автор вопроса:  Asker
Как корректно написать скритп на Windows Script для запуска внешнегоприложения?
В свое время запускал скрипт MyScript.vbs c содержанием:

dim os
...
set os=WScript.CreateObject("WScript.Shell")
os.run C:\Path\Program.exe,[],true
set os=nothing

Но сейчас данный скрипт приложение на запускает!

Ответить

  Ответы Всего ответов: 10  

Номер ответа: 1
Автор ответа:
 Asker



Вопросов: 1
Ответов: 4
 Профиль | | #1 Добавлено: 12.04.07 14:05
P.S
Извиняюсь за неточность, кавычки в моем скрипте имеются:
set os=WScript.CreateObject("WScript.Shell";)
os.run "C:\Path\Program.exe",[],true
set os=nothing

Ответить

Номер ответа: 2
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #2 Добавлено: 12.04.07 14:22

' Test program for Run and RunCmd functions.
' Author: Christian d'Heureuse (www.source-code.biz)

Option Explicit

Main

Sub Main
   Run "attrib"
   RunCmd "dir c:\*.sys"
   End Sub

' Runs an external program and pipes it's output to
' the StdOut and StdErr streams of the current script.
' Returns the exit code of the external program.
Function Run (ByVal cmd)
   Dim sh: Set sh = CreateObject("WScript.Shell";)
   Dim wsx: Set wsx = Sh.Exec(cmd)
   If wsx.ProcessID = 0 And wsx.Status = 1 Then
      ' (The Win98 version of VBScript does not detect WshShell.Exec errors)
      Err.Raise vbObjectError,,"WshShell.Exec failed."
      End If
   Do
      Dim Status: Status = wsx.Status
      WScript.StdOut.Write wsx.StdOut.ReadAll()
      WScript.StdErr.Write wsx.StdErr.ReadAll()
      If Status <> 0 Then Exit Do
      WScript.Sleep 10
      Loop
   Run = wsx.ExitCode
   End Function

' Runs an internal command interpreter command.
Function RunCmd (ByVal cmd)
   RunCmd = Run("%ComSpec% /c " & cmd)
   End Function


Понятия не имею работает или нет. Проверить негде:)

Ответить

Номер ответа: 3
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #3 Добавлено: 12.04.07 14:36
Windows Script Host (WSH)
Мощнейшее средство автоматизации работы с Windows - WSH. Как в автоматическом режиме подключить сетевой диск, поковыряться в реестре, создать ярлык, запустить программу, выключить компьютер? Это и многое другое может WSH

хелп в формате chm
http://www.albusfalco.narod.ru/chm/articles.chm

Ответить

Номер ответа: 4
Автор ответа:
 Asker



Вопросов: 1
Ответов: 4
 Профиль | | #4 Добавлено: 12.04.07 15:12
2 User Unknown
Ну, проверить очень просто: создаешь файл с расширением *.vbs , пишешь в него содержание скрипта(можнь в блокноте), и кликаешь на нем мышкой два раза...

Не-а, не работает...

2 Arseny
Я мордой в справку ткнуть любой способен, а вот рабочий скрипт дать...
В справке приложение запускается теми же двумя строчками:
var WSHShell = WScript.CreateObject("WScript.Shell";);
WSHShell.Run("C:\Path\program.exe",5);
Хотя на это точно Windows Script ругается: он не воспринимает точек с запятой после команды, а также второго параметра в виде цифры 5(почему 5?)

Ответить

Номер ответа: 5
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #5 Добавлено: 12.04.07 15:16
Да это-то я прекрасно понимаю. Только у меня нет виндовса...

Ответить

Номер ответа: 6
Автор ответа:
 Asker



Вопросов: 1
Ответов: 4
 Профиль | | #6 Добавлено: 12.04.07 15:42
Бывает...
Многосторонняя и неодринарная ты личность, однако: даже не имея винды, тусоваться на форуме VBS... :-) Остались еще талантливые люди

Ответить

Номер ответа: 7
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #7 Добавлено: 12.04.07 15:54
MSDN:
Отсюда уж точно работает. :)
WshShell.Run
The Run method creates a new process that executes strCommand with window style intWindowStyle.

Syntax
WshShell.Run (strCommand, [intWindowStyle], [blnWaitOnReturn])
 
Parameters
strCommand
Environment variables within the strCommand parameter are automatically expanded.
intWindowStyle
This is the value to which the wShowWindow element is set in the STARTUPINFO structure for the new process. Its significance is the same as the nCmdShow parameter of the ShowWindow function, and it may take one of the following values. Name Value Meaning
SW_HIDE
 0 Hides the window and activates another window.
SW_MINIMIZE
 6 Minimizes the specified window and activates the next top-level window in the Z order.
SW_RESTORE
 9 Activates and displays the window. If the window is minimized or maximized, Windows restores it to its original size and position. An application should specify this flag when restoring a minimized window.
SW_SHOW
 5 Activates the window and displays it in its current size and position.
SW_SHOWMAXIMIZED
 3 Activates the window and displays it as a maximized window.
SW_SHOWMINIMIZED
 2 Activates the window and displays it as a minimized window.
SW_SHOWMINNOACTIVE
 7 Displays the window as a minimized window. The active window remains active.
SW_SHOWNA
 8 Displays the window in its current state. The active window remains active.
SW_SHOWNOACTIVATE
 4 Displays a window in its most recent size and position. The active window remains active.
SW_SHOWNORMAL
 1 Activates and displays a window. If the window is minimized or maximized, Windows restores it to its original size and position.


blnWaitOnReturn
If blnWaitOnReturn is not specified or FALSE, this method immediately returns to script execution rather than waiting for the process termination.
If blnWaitOnReturn is set to TRUE, the Run method returns any error code returned by the application. If blnWaitOnReturn is not specified or is FALSE, Run returns an error code of 0 (zero).

Example
' This fragment launches Notepad with the current executed script
  Set WshShell = Wscript.CreateObject("Wscript.Shell";)
  WshShell.Run ("notepad " & Wscript.ScriptFullName)
  WshShell.Run ("%windir%\notepad" & Wscript.ScriptFullName)

' This fragment returns the error code from the executed application
  Return = WshShell.Run("notepad " & Wscript.ScriptFullName, 1, TRUE)

Ответить

Номер ответа: 8
Автор ответа:
 User Unknown



Вечный Юзер!

ICQ: uu@jabber.cz 

Вопросов: 120
Ответов: 3302
 Профиль | | #8 Добавлено: 12.04.07 16:01
2Arseny, ну и чего? какая разница с предыдущими сообщениями???

Ответить

Номер ответа: 9
Автор ответа:
 Asker



Вопросов: 1
Ответов: 4
 Профиль | | #9 Добавлено: 12.04.07 16:30
Никакой, но скрипт работает(в том числе и мой изнмчальный) :-). Приложение оказалось интересным: не хотело запускаться с указанного каталога. Спасибо за внимание.

Сорри.
Весь день хожу тут босиком
Едва знаком я с бейсиком

Ответить

Номер ответа: 10
Автор ответа:
 Arseny



ICQ: 298826769 

Вопросов: 53
Ответов: 1732
 Профиль | | #10 Добавлено: 12.04.07 17:12
2Arseny, ну и чего? какая разница с предыдущими сообщениями???

А причем здесь разница? :) Просто, так сказать, первоисточник с подробным описанием.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам