[phpBB Debug] PHP Notice: in file /viewtopic.php on line 1506: Undefined offset: 18902
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 4284: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3493)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 4286: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3493)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 4287: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3493)
[phpBB Debug] PHP Notice: in file /includes/functions.php on line 4288: Cannot modify header information - headers already sent by (output started at /includes/functions.php:3493)
Конференция VBStreets • Просмотр темы — [RESOLVED] Вызов ссылок в WebBrowser командой ShellExecute

[RESOLVED] Вызов ссылок в WebBrowser командой ShellExecute

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

[RESOLVED] Вызов ссылок в WebBrowser командой ShellExecute

Сообщение NeverGone » 27.12.2008 (Сб) 22:16

Возможно ли сделать так, чтобы ссылки, находящиеся в WebBrowser (там у меня HTML со ссылками), вызывались ShellExecute'ом (т.е. стандартным браузером)?
Заранее спасибо.
Последний раз редактировалось Гость 05.02.2010 (Пт) 5:11, всего редактировалось 1 раз.

Joo
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 762
Зарегистрирован: 14.08.2008 (Чт) 11:55
Откуда: Казахстан

Re: Вызов ссылок в WebBrowser командой ShellExecute

Сообщение Joo » 28.12.2008 (Вс) 18:03

Можно! Чичас покажу ежели вспомню ))
Ссылки оформляешь так:
Код: Выделить всё
<a href="#null" onCl[i][удалить][/i]ick="this.MyProgram.Run('Тут передаешь параметр, например адрес сайта')">СТАРТ</a>


В коде у тебя должно быть прописанно (wb в коде - это компонент WebBrowser):
Код: Выделить всё
'Функция Run
Public Sub Run(ByVal FileName As String)
    On Local Error Resume Next
    Call ShellExecute(0, "open", FileName, "", "", 1)
End Sub

'
Public Sub AssignTag(CustomTag)
    On Local Error Resume Next
    CustomTag.setAttribute "MyProgram", Me, 1
End Sub

Private Sub wb_DownloadComplete()
    On Error GoTo lError
    Dim i As Long
    For i = 0 To Wb.Document.All.length - 1
          AssignTag Wb.Document.All.Item(i)
    Next i 
lError:
End Sub


Пробуй, что-то типа того
Последний раз редактировалось Joo 30.12.2008 (Вт) 9:14, всего редактировалось 3 раз(а).
"Им будет не просто, тем кто полагается на истину авторитета, вместо того чтобы полагаться на авторитет Истины"
Джеральд Месси, Египтолог

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Re: Вызов ссылок в WebBrowser командой ShellExecute

Сообщение dr.MIG » 29.12.2008 (Пн) 0:25

А можно просто ссылке в html задать в качестве параметра target значение blank.
Salus populi suprema lex

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: Вызов ссылок в WebBrowser командой ShellExecute

Сообщение iGrok » 29.12.2008 (Пн) 1:33

dr.MIG писал(а):А можно просто ссылке в html задать в качестве параметра target значение blank.

А оно при этом разве не будет открываться только в IE даже если дефолтным браузером выставлено что-то другое?
label:
cli
jmp label

Joo
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 762
Зарегистрирован: 14.08.2008 (Чт) 11:55
Откуда: Казахстан

Re: Вызов ссылок в WebBrowser командой ShellExecute

Сообщение Joo » 29.12.2008 (Пн) 17:09

iGrok писал(а):
dr.MIG писал(а):А можно просто ссылке в html задать в качестве параметра target значение blank.

А оно при этом разве не будет открываться только в IE даже если дефолтным браузером выставлено что-то другое?


А по моему ишак и откроет, хотя проверить надо. А вообще моим способом можно что угодно из HTML в программу передавать
"Им будет не просто, тем кто полагается на истину авторитета, вместо того чтобы полагаться на авторитет Истины"
Джеральд Месси, Египтолог

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Re: Вызов ссылок в WebBrowser командой ShellExecute

Сообщение dr.MIG » 29.12.2008 (Пн) 18:22

Да, невнимательно прочитал, что требуется. Так откроет IE. Я бы в дефолтном браузере открывал так:
Код: Выделить всё
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private WithEvents mDoc As HTMLDocument

Private Sub Form_Load()
    WebBrowser1.Navigate "C:/1.htm"
        While WebBrowser1.ReadyState <> READYSTATE_COMPLETE
            DoEvents
        Wend
    Set mDoc = WebBrowser1.Document
End Sub

Private Function mDoc_onclick() As Boolean
    If mDoc.parentWindow.event.srcElement.tagName = "A" Then
        ShellExecute 0, "open", mDoc.parentWindow.event.srcElement.getAttribute("href"), "", "", 1
    End If
End Function
Salus populi suprema lex

Joo
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 762
Зарегистрирован: 14.08.2008 (Чт) 11:55
Откуда: Казахстан

Re: Вызов ссылок в WebBrowser командой ShellExecute

Сообщение Joo » 30.12.2008 (Вт) 9:15

Я выше отредактировал пост, а то форум порезал часть кода )) там где показанно оформление ссылки
"Им будет не просто, тем кто полагается на истину авторитета, вместо того чтобы полагаться на авторитет Истины"
Джеральд Месси, Египтолог


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

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

Сейчас этот форум просматривают: Yandex-бот и гости: 64

    TopList