Как Запустить Ярлык на Сетевое Подключение?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
XPraptor
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 02.12.2003 (Вт) 18:13
Откуда: Minsk

Как Запустить Ярлык на Сетевое Подключение?

Сообщение XPraptor » 27.02.2004 (Пт) 17:55

Господа!!! Возникла проблеммка.
Есть ярлык, но не на исполняемый файл, а на сетевое подключение, стороннего производителя (Спутниковый VPN законнекчивает), так вот способом через FSO он не показывает ни какой статистики.
Может кто в курсе как его запустить программно это соединение.
Описание его в .pbk схоже со стандартными сетевыми подключениями винды.
(У меня 2000 Adv. Server)
Rasdial пробывал, не соединяет просто открывает окно где уже выбранно это соединение и нужно кликнуть "ОК" для подтверждения, а использовать FindWindow не очень бы хотелось.
Ведь как то он запускается, когда по нему на рабочем столе кликаешь.
Помогите ПЛЗ!!! Заранее благодарен.
Если руки кривые, то не надо ругать разработчиков.

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 27.02.2004 (Пт) 18:54

А ShellExecute кто-нибудь отменял? :D

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

XPraptor
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 02.12.2003 (Вт) 18:13
Откуда: Minsk

Сообщение XPraptor » 01.03.2004 (Пн) 10:21

Читай внимательно вопрос. НЕ ДЕЙСТВУЮТ ПРАВИЛА ИСПОЛНЯЕМОГО ФАЙЛА НА ЯРЛЫК СЕТЕВОГО ПОДКЛЮЧЕНИЯ. SHELLEXECUTE НЕ ЗАПУСКАЕТ ЯРЛЫК НА СЕТЕВОЕ ПОДКЛЮЧЕНИЕ.
Если руки кривые, то не надо ругать разработчиков.

xolod
Гуру
Гуру
 
Сообщения: 1162
Зарегистрирован: 15.01.2004 (Чт) 0:42
Откуда: Moscow

Сообщение xolod » 01.03.2004 (Пн) 15:56

API ShellExecute позволяет запустить не только исполняемые файлы, но и любые файлы, ассоциированные с приложениями и службами :wink:

Constant ERROR_SUCCESS deprecated. I'm so happy.
Программирование и дизайн – http://www.macrointellect.ru

XPraptor
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 02.12.2003 (Вт) 18:13
Откуда: Minsk

Сообщение XPraptor » 01.03.2004 (Пн) 17:32

Сейчас четырех-пятизвездочная команда на другом форуме как раз пробовала это сделать, НЕ ЗАПУСКАЕТ SHELLEXECUTE СЕТЕВЫЕ ПОДКЛЮЧЕНИЯ. Их RASDIAL запускает при этом должен быть файл .pbk с параметрами подключения (Вопрос читай). А это подключение стороннего производителя, у него нет файла .pbk поэтому и нельзя запустить через RASDIAL. А в самой проге этого производителя реализован обмен данными с сервером, если не эта прога устанавливает соединение, то в доступе будет ОТКАЗАНО!!!
Если руки кривые, то не надо ругать разработчиков.

XPraptor
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 02.12.2003 (Вт) 18:13
Откуда: Minsk

Сообщение XPraptor » 01.03.2004 (Пн) 18:05

Все, тема закрыта, нашел dll неизвестного автора. Там есть метод, эмулирующий дблклик на ярлыке рабочего стола. Жаль исходников нету.
Если руки кривые, то не надо ругать разработчиков.

MEMBER
Гугль
Гугль
 
Сообщения: 758
Зарегистрирован: 29.11.2002 (Пт) 12:02
Откуда: 10 этаж

Сообщение MEMBER » 28.03.2004 (Вс) 17:04

VBScript.
Код не мой, мне его на IXBT подарили.
Код: Выделить всё
Const ssfCONTROLS = 3
sConnectionName = "Intercon"
sEnableVerb = "Откл&ючить" ' для русских систем изменить
sDisableVerb = "Откл&ючить"
set shellApp = createobject("shell.application")
set oControlPanel = shellApp.Namespace(ssfCONTROLS)

set oNetConnections = nothing
for each folderitem in oControlPanel.items
'for Win2K folderitem.name ="Сеть и удаленный доступ к сети"
if folderitem.name = "Сеть и удаленный доступ к сети" then
set oNetConnections = folderitem.getfolder: exit for
end if
next

if oNetConnections is nothing then
msgbox "Couldn't find 'Network Connections' folder"
wscript.quit
end if

set oLanConnection = nothing
for each folderitem in oNetConnections.items
if lcase(folderitem.name) = lcase(sConnectionName) then
set oLanConnection = folderitem: exit for
end if
next

if oLanConnection is nothing then
msgbox "Couldn't find '" & sConnectionName & "' item"
wscript.quit
end if

bEnabled = true
set oEnableVerb = nothing
set oDisableVerb = nothing
s = "Verbs: " & vbcrlf
for each verb in oLanConnection.verbs
s = s & vbcrlf & verb.name
if verb.name = sEnableVerb then
set oEnableVerb = verb
bEnabled = false
end if
if verb.name = sDisableVerb then
set oDisableVerb = verb
end if
next

'debugging displays left just in case...
'
'msgbox s ': wscript.quit
'msgbox "Enabled: " & bEnabled ': wscript.quit

'not sure why, but invokeverb always seemed to work
'for enable but not disable.
'
'saving a reference to the appropriate verb object
'and calling the DoIt method always seems to work.
'
if NOT bEnabled then
'   msgbox "1"
' oLanConnection.invokeverb sDisableVerb
'oDisableVerb.DoIt
'else
oLanConnection.invokeverb sEnableVerb
oEnableVerb.DoIt
'msgbox "2"
end if

'adjust the sleep duration below as needed...
'
'if you let the oLanConnection go out of scope
'and be destroyed too soon, the action of the verb
'may not take...
'
wscript.sleep 1000
Господа! Пользуйтесь www.ya.ru
ЗЫ и www.planetsourcecode.com


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

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

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

    TopList