Имя пользователя:
Пароль:
 

Название темы: [решено] Run в VBE
Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


giperion85, есть несколько способов.

1. Сменить текущий каталог, запустить процесс, восстановить текущий каталог:
Код: Выделить весь код
Option Explicit

Dim objWshShell
Dim strCurFolder

Set objWshShell = WScript.CreateObject("WScript.Shell")

strCurFolder = objWshShell.CurrentDirectory

objWshShell.CurrentDirectory = "c:\Temp"
objWshShell.Run "notepad.exe", 1, False

objWshShell.CurrentDirectory = strCurFolder

Set objWshShell = Nothing

WScript.Quit 0
2. Использовать Wbem:
Код: Выделить весь код
Option Explicit

Dim strComputer
Dim lngProcessID

Dim objSWbemLocator
Dim objSWbemServicesEx


strComputer = "."

Set objSWbemLocator    = WScript.CreateObject("WbemScripting.SWbemLocator")
Set objSWbemServicesEx = objSWbemLocator.ConnectServer(strComputer, "root\cimv2")

If objSWbemServicesEx.Get("Win32_Process").Create("notepad.exe", "c:\Temp", Null, lngProcessID) = 0 Then
	WScript.Echo "Process [notepad.exe] created successfully. Process ID: [" & lngProcessID & "]."
Else
	WScript.Echo "Process [notepad.exe] could not be created."
End If

Set objSWbemServicesEx = Nothing
Set objSWbemLocator    = Nothing

WScript.Quit 0
Я намеренно привёл явно избыточный код для ясности понимания процесса.
Это сообщение посчитали полезным следующие участники:

Отправлено: 02:21, 12-03-2012 | #2

Название темы: [решено] Run в VBE