Shell: запуск программ и линков!

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
191181
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 06.10.2003 (Пн) 16:30

Shell: запуск программ и линков!

Сообщение 191181 » 24.10.2003 (Пт) 10:52

Привет всем!
Может кто знает, как мне на VBScript:

1. запустить ехе-шник, при этом указав рабочую папку и имя запускаемого файла.??? т.е. ехе-шник находится в одной директории, а рабочая папка в другой!
2. Как запустить ярлык? (shell link/shotcut)???

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 24.10.2003 (Пт) 11:30

Запуск чего угодно по моему осуществляется через WSHShell.Exec

191181
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 06.10.2003 (Пн) 16:30

Сообщение 191181 » 24.10.2003 (Пт) 11:53

Чего-то не получается...

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 24.10.2003 (Пт) 11:59

Это слишком абстрактный ответ. Конкретно что не получается.

191181
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 06.10.2003 (Пн) 16:30

Сообщение 191181 » 24.10.2003 (Пт) 12:04

set WshShell =CreateObject("WScript.Shell")
WshShell.Exec "notepad.exe c:\test.lnk"
Это работает!

А вот
set WshShell =CreateObject("WScript.Shell")
WshShell.Exec "c:\test.lnk"
вызывает ошибку. Т.е. Как мне "запустить" этот линк? :cry:

RayShade
Scarmarked
Scarmarked
Аватара пользователя
 
Сообщения: 5511
Зарегистрирован: 02.12.2002 (Пн) 17:11
Откуда: Russia, Saint-Petersburg

Сообщение RayShade » 24.10.2003 (Пт) 12:27

А вот так:

set WshShell =CreateObject("WScript.Shell")

WshShell.Exec "start c:\test.lnk"

191181
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 06.10.2003 (Пн) 16:30

Сообщение 191181 » 24.10.2003 (Пт) 12:40

Неа.... Выдает ошибку... что файл не найден!

191181
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 06.10.2003 (Пн) 16:30

Сообщение 191181 » 24.10.2003 (Пт) 12:45

Dim oShell
Set oShell = CreateObject ("WSCript.shell")
oShell.run "cmd /K CD ""C:\xxx\ "" & ""c:\yyy\zzz.exe"""
Set oShell = Nothing

Вот так получается, что рабочая папка это ххх, а файл в ууу\zzz.ехе
Но большой глюк: Окно CMD не закрывается!

191181
Начинающий
Начинающий
 
Сообщения: 21
Зарегистрирован: 06.10.2003 (Пн) 16:30

Сообщение 191181 » 24.10.2003 (Пт) 12:50

А еще лучше, чтобы оно не появлялось!
Одним словом надо, чтобы рабочий каталог был один, а запускаемый файл в другом!
И чтобы не было "cmd".

Я просто пришел к выводу, что проще сначала создать временный ярлык, выполнить его, а потом удалить!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7

    TopList