Как правильно сделать?

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

Как правильно сделать?

Сообщение Druid-2004 » 22.09.2004 (Ср) 9:44

Как сделать так, чтобы тыкая на ссылку на .ехе- файл в объекте WebBrowser, не появлялось окошко "открыть / сохранить и тд...", а сразу запускался тот файл, на который указывает ссылка.
Я знаю, что можно, есть такие инсталяшки, но как они так делают, не знаю... помогите, плиз.
С уважением, Druid

marvan
Бывалый
Бывалый
 
Сообщения: 269
Зарегистрирован: 22.06.2004 (Вт) 13:26
Откуда: Москва

Сообщение marvan » 22.09.2004 (Ср) 10:19

Самый простой способ:
Private Sub WebBrowser_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, _
                                       Flags As Variant, TargetFrameName As Variant, _
                                       PostData As Variant, Headers As Variant, _
                                       Cancel As Boolean)
    If Right(URL, 3) = "exe" Then
        Shell URL, 1
        Cancel = True
    End If
End Sub
можно ещё и события от MSHTML ловить, но это сложнее
p.s.
ссылка должна иметь вид: <a href="C:\WINDOWS\System32\calc.exe">калькулятор</a>
в противном случае её надо преобразовавать

Druid-2004
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 08.08.2004 (Вс) 16:20
Откуда: Трехгорный

Сообщение Druid-2004 » 22.09.2004 (Ср) 12:39

marvan писал(а):Самый простой способ:
Private Sub WebBrowser_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, _
                                       Flags As Variant, TargetFrameName As Variant, _
                                       PostData As Variant, Headers As Variant, _
                                       Cancel As Boolean)
    If Right(URL, 3) = "exe" Then
        Shell URL, 1
        Cancel = True
    End If
End Sub
можно ещё и события от MSHTML ловить, но это сложнее
p.s.
ссылка должна иметь вид: <a href="C:\WINDOWS\System32\calc.exe">калькулятор</a>
в противном случае её надо преобразовавать


Что-то не получается.....
С уважением, Druid

marvan
Бывалый
Бывалый
 
Сообщения: 269
Зарегистрирован: 22.06.2004 (Вт) 13:26
Откуда: Москва

Сообщение marvan » 22.09.2004 (Ср) 15:14

'Компоненты:
'Microsoft Internet Controls (C:\WINDOWS\System32\shdocvw.dll)
'На форме WebBrowser1

Private Sub Form_Load()
    WebBrowser1.Navigate "about:blank"
    While WebBrowser1.Document Is Nothing
         DoEvents
    Wend
    WebBrowser1.Document.write "<a href=""C:\WINDOWS\System32\calc.exe"">калькулятор</a>"
End Sub

Private Sub WebBrowser1_BeforeNavigate2(ByVal pDisp As Object, URL As Variant, _
                                       Flags As Variant, TargetFrameName As Variant, _
                                       PostData As Variant, Headers As Variant, _
                                       Cancel As Boolean)
    If Right(URL, 3) = "exe" Then
        Shell URL, 1
        Cancel = True
    End If
End Sub


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

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

Сейчас этот форум просматривают: С.Т., Google-бот, Yandex-бот и гости: 2

    TopList