-
1 Attachment(s)
vb web browser tutorial
UPDATED ON 18/6/2006
In this thread i'm going to talk about all the things that you might need in building an internet web browser using visualbasic component.
1- Adding components:
Go to "Project" on the top menu, and choose "Components" or click CTRL-T, then check "Microsoft html object library" and "Microsoft internet controls" and "Microsoft Windows common Controls 5.0".
You will see that new objects are appearing in the left box of your menu, now choose the webbrowser icon which looks like an earth and add it to your form, and make its size as you want, (its name is WebBrowser1 in this tutorial)
Also click on the "Progress bar" component and add it to your form.
2- Adding buttons and objects:
Now add the "6" essential command buttons to your form, and name them as the following: "Back","Forward","Stop","Refresh","Home" and "GO", Now add 1 combo box which the user will enter the web address on it.
3- Coding your application:
First click on the "GO" button and write this code inside it:
VB Code:
WebBrowser1.Navigate Combo1
Now We will code the other buttons as the following:
Back button:
VB Code:
On Error Resume Next
WebBrowser1.GoBack
Forward button:
VB Code:
On Error Resume Next
WebBrowser1.GoForward
Stop button:
VB Code:
On Error Resume Next
WebBrowser1.Stop
Refresh button:
Home button:
NOW YOU CAN TRY USING YOUR NEW WEB BROWSER.
4- Advanced codes:
You can add the following codes to your application to make it work better, Just place these codes anywhere in your coding window.
* Add a progress bar
VB Code:
'This to make the progress bar work and to show a status message, and an image.
Private Sub WebBrowser1_ProgressChange(ByVal Progress As Long, ByVal ProgressMax As Long)
On Error Resume Next
If Progress = -1 Then ProgressBar1.Value = 100 'the name of the progress bar is "ProgressBar1".
Label1.Caption = "Done"
ProgressBar1.Visible = False 'This makes the progress bar disappear after the page is loaded.
Image1.Visible = True
If Progress > 0 And ProgressMax > 0 Then
ProgressBar1.Visible = True
Image1.Visible = False
ProgressBar1.Value = Progress * 100 / ProgressMax
Label1.Caption = Int(Progress * 100 / ProgressMax) & "%"
End If
Exit Sub
End Sub
But here you will need to add an label which is called "Label1" and also an small image such as a smile or earth or anything you want and the name is "image1"
* Open in new window
VB Code:
'This to open a new window with our browser.
Private Sub WebBrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)
Dim frm As Form1
Set frm = New Form1
Set ppDisp = frm.WebBrowser1.Object
frm.Show
End Sub
This to open the new window with your browser.
* History and current visited site.
VB Code:
'This keeps the visited sites history and also changes the title of the browser as the page title.
Private Sub WebBrowser1_NavigateComplete2(ByVal pDisp As Object, URL As Variant)
On Error Resume Next
Dim i As Integer
Dim bFound As Boolean
Me.Caption = WebBrowser1.LocationName
For i = 0 To Combo1.ListCount - 1
If Combo1.List(i) = WebBrowser1.LocationURL Then
bFound = True
Exit For
End If
Next i
mbDontNavigateNow = True
If bFound Then
Combo1.RemoveItem i
End If
Combo1.AddItem WebBrowser1.LocationURL, 0
Combo1.ListIndex = 0
mbDontNavigateNow = False
End Sub
5- More coding:
You can add more buttons to your browser as those:
* Find if a word is in the page (taken from a tutorial on this forum).
VB Code:
'This to tell you if a word is in the page, Here we call the WebPageContains function.
Private Sub Command7_Click()
Dim strfindword As String
strfindword = InputBox("What are you looking for?", "Find", "") ' what word to find?
If WebPageContains(strfindword) = True Then 'check if the word is in page
MsgBox "The webpage contains the text" 'string is in page
Else
MsgBox "The webpage doesn't contains the text" 'string is not in page
End If
End Sub
'This is the finding function.
Private Function WebPageContains(ByVal s As String) As Boolean
Dim i As Long, EHTML
For i = 1 To WebBrowser1.Document.All.length
Set EHTML = _
WebBrowser1.Document.All.Item(i)
If Not (EHTML Is Nothing) Then
If InStr(1, EHTML.innerHTML, _
s, vbTextCompare) > 0 Then
WebPageContains = True
Exit Function
End If
End If
Next i
End Function
* Page properties
VB Code:
WebBrowser1.ExecWB OLECMDID_PROPERTIES, OLECMDEXECOPT_DODEFAULT
This will run the page properties.
* Print a page
VB Code:
WebBrowser1.ExecWB OLECMDID_PRINT, OLECMDEXECOPT_DODEFAULT
* Save a page
VB Code:
WebBrowser1.ExecWB OLECMDID_SAVEAS, OLECMDEXECOPT_DODEFAULT
* Delete cookies from your computer
VB Code:
'This code is used to empty the cookies from the user's computer / We call function from here.
Private Declare Function GetUserName _
Lib "advapi32.dll" Alias "GetUserNameW" ( _
ByVal lpBuffer As Long, _
ByRef nSize As Long) As Long
Private Declare Function SHGetSpecialFolderPath _
Lib "shell32.dll" Alias "SHGetSpecialFolderPathA" ( _
ByVal hwnd As Long, _
ByVal pszPath As String, _
ByVal csidl As Long, _
ByVal fCreate As Long) As Long
Private Const CSIDL_COOKIES As Long = &H21
'This calls the function that deletes the cookies.
Public Sub Command1_Click()
Dim sPath As String
sPath = Space(260)
Call SHGetSpecialFolderPath(0, sPath, CSIDL_COOKIES, False)
sPath = Left$(sPath, InStr(sPath, vbNullChar) - 1) & "\*.txt*"
On Error Resume Next
Kill sPath
End Sub
* Show webpage's source code:
VB Code:
Private Sub Form_Load()
Text1.Text = Form1.browser.Document.documentElement.innerHTML
End Sub
6- Important codes: New!
* Popups Blocker
VB Code:
Private Function IsPopupWindow() As Boolean
On Error Resume Next
If WebBrowser1.Document.activeElement.tagName = "BODY" Or WebBrowser1.Document.activeElement.tagName = "IFRAME" Then
IsPopupWindow = True
Else
IsPopupWindow = False
End If
End Function
Private Sub webbrowser1_NewWindow2(ppDisp As Object, Cancel As Boolean)
Dim frm As Form1
Cancel = IsPopupWindow
If Cancel = False Then
Set frm = New Form1
Set ppDisp = frm.WebBrowser1.object
frm.Show
End If
End Sub
This will block all the popups, but in the same time it will open links in a new window as usual.
* JavaScripts handeling
VB Code:
WebBrowser1.Silent = True
This will not show any errors from pages while you are using your web browser, put it in the form load event.
* The size of the browser and the scrollbars code
VB Code:
Private Sub Form_Resize()
On Error Resume Next
WebBrowser1.Width = Me.ScaleWidth
WebBrowser1.Height = Me.ScaleHeight - 1680
End Sub
This code will make your webbrowser fit with the overall form structure, and also will make the scrollbars compitable with the form.
Now you got a great web browser with many functions ;)
Need icons for your application? just do a fast forum search and you will find a great sites for icons or images.
-
Re: vb web browser tutorial
Nice tutorial :thumb: :)
A real challenge would be making a browser without the 'Microsoft internet controls'
-
Re: vb web browser tutorial
This should be moved to FAQ or something since it is not a question...
But there is a lot more that can be added to this:
example:
using commandstatechange event u can enable/disable the back/forward buttons
VB Code:
Private Sub Webbrowser1_CommandStateChange(ByVal Command As Long, ByVal Enable As Boolean)
On Error Resume Next
DoEvents: DoEvents: DoEvents
If Enable = True And Command = CSC_NAVIGATEBACK Then
cmdBack.Enabled = True
ElseIf Enable = False And Command = CSC_NAVIGATEBACK Then
cmdBack.Enabled = False
End If
If Enable = True And Command = CSC_NAVIGATEFORWARD Then
cmdForward.Enabled = True
ElseIf Enable = False And Command = CSC_NAVIGATEFORWARD Then
cmdForward.Enabled = False
End If
End Sub
-
Re: vb web browser tutorial
-
Re: vb web browser tutorial
thanks for sharing, btw the text box which you can see in the screenshot if for writing notes while surfing or viewing pages, me personaly i need this thing in my browser :)
-
Re: vb web browser tutorial
how can i get it to scale to become a full page browser not just a little one?
-
Re: vb web browser tutorial
Static:
VB Code:
Private Sub Webbrowser1_CommandStateChange(ByVal Command As Long, ByVal Enable As Boolean)
If Command = CSC_NAVIGATEBACK Then
cmdBack.Enabled = Enable
Else If Command = CSC_NAVIGATEFORWARD Then
cmdForward.Enabled = Enable
End If
End Sub
-
Re: vb web browser tutorial
Quote:
Originally Posted by KPS.
how can i get it to scale to become a full page browser not just a little one?
I didn't understand what exactly you mean, but this is a code to make the web page fit with the form and also the scrollbars.
VB Code:
'This to make the scrollbar fit with form size.
Private Sub Form_Resize()
WebBrowser1.Width = Me.ScaleWidth
End Sub
-
Re: vb web browser tutorial
For some reason when i try to go to a website i get an 'Action Canceled' error. Can anyone help me with this?
-
Re: vb web browser tutorial
Use "On Error Resume Next".
-
Re: vb web browser tutorial
I'm using that already. I'm using the same code used in the tutorial and am still having trouble with Page cannot be displayed errors and such.
-
Re: vb web browser tutorial
this is a very good tutorial, it has helped me alot with a college assignment. and before anything is sed i didnt copy it so i cannot be failed lol i just read the code understood it in my mind and put it down on my program. anyway this was a very good example and i have learnd alot from it and developed on it. so THANKS!!!!
-
Re: vb web browser tutorial
Use of the 'Microsoft internet controls' does hamper the functionality of this somewhat, though I agree, this is a really good tutorial.
Do you know of a way to prevent the WebBrowser control from reading from and writing to the same history as Internet Explorer? This drawback (and probably others) relegates the control to the status of Internet Explorer Jr., rather than its own app.
-
Re: vb web browser tutorial
I just wanted to say this is a great tutorial. I'm using this for a school assignment and I think I'll get a pretty good grade on it.
-
Re: vb web browser tutorial
-
Re: vb web browser tutorial
This is a great tutorial. How can you get the popup window to resize and/or close based on the webpage(s)'s original javascript code? Your code opens the popup window but does not close it. Thx
-
Re: vb web browser tutorial
Wow, great tutorial. But I was just wondering one thing. I use tabs in my web browser but I had to set the amount of tabs and its content before I created the project. Is there a code to make any links clicked on a web page go straight to a new tab instead of opening IE up. And an option to create a new tab:ehh:
Thanks
-
Re: vb web browser tutorial
Quote:
Originally Posted by samaster1991
Wow, great tutorial. But I was just wondering one thing. I use tabs in my web browser but I had to set the amount of tabs and its content before I created the project. Is there a code to make any links clicked on a web page go straight to a new tab instead of opening IE up. And an option to create a new tab:ehh:
Thanks
Here's a code sample
Code:
Private Sub TabStrip1_CLick()
Select Case TabStrip1.SelectedItem.Key
Case "Home Page"
WebBrowser1.GoHome
Case "New Tab"
Combo1.Text = "about:blank"
WebBrowser.Navigate (Combo1.Text)
End Select
End Sub
You can add more cases to your Tabs.
Merry Christmas,
MSWindowsUser
Visual Basic User and Advanced coder.
-
Re: vb web browser tutorial
Thanks
Merry Christmas :)
-
Re: vb web browser tutorial
Dear sir,
Please help me.
This is a great tutorial. How can you get the popup window close based on the webpage(s)'s original javascript code? In this code opens the popup window but does not close it. After submitting value to main window how to close popup window ?
Raghu Bhandari
-
Re: vb web browser tutorial
Quote:
Originally Posted by raghu_ktm@yahoo.com
Dear sir,
Please help me.
This is a great tutorial. How can you get the popup window close based on the webpage(s)'s original javascript code? In this code opens the popup window but does not close it. After submitting value to main window how to close popup window ?
Raghu Bhandari
Open menu editor (Ctrl + E), type in &Pop-ups in the Caption box, mnuPopups in the Name box, hit enter, add &Allow in the caption box, mnuAllow in the name box, check checked, hit the right arrow so that it can go into the pop-ups menu, add &Disallow in the Caption box, mnuDisallow in the name box, click on the right arrow to let it stay in the Pop-ups menu.
Code:
Private Sub mnuAllow_Click()
mnuAllow.Checked = True
mnuDisallow.Checked = False
Dim frmNW As frmInternet
Dim ppDisp As Object
Dim Cancel As Boolean
Set frmNW = New frmInternet
frmNW.brwWebBrowser.RegisterAsBrowser = True
Set ppDisp = frmNW.brwWebBrowser.object
frmNW.Show
End Sub
Private Sub mnuDisallow_Click()
mnuDisallow.Checked = True
mnuAllow.Checked = False
Dim ppDisp As Object
Dim Cancel As Boolean
Dim frmNW As frmInternet
Cancel = IsPopupWindow
If Cancel = False Then
Set frmNW = New frmInternet
Set ppDisp = frmNW.brwWebBrowser.object
frmNW.Visible = True And False
End If
End Sub
Private Sub brwWebBrowser_NewWindow2(ppDisp As Object, Cancel As Boolean)
On Error Resume Next
Dim frmNW As frmInternet
Cancel = IsPopupWindow
If mnuDisallow.Checked = False Then
mnuAllow.Checked = True
Set frmNW = New frmInternet
frmNW.brwWebBrowser.RegisterAsBrowser = True
Set ppDisp = frmNW.brwWebBrowser.object
frmNW.Show
ElseIf mnuAllow.Checked = False Then
mnuDisallow.Checked = True
Cancel = False
Set frmNW = New frmInternet
Set ppDisp = frmNW.brwWebBrowser.object
frmNW.Visible = True And False
End If
End Sub
Private Function IsPopupWindow() As Boolean
On Error Resume Next
If brwWebBrowser.Document.activeElement.tagName = "BODY" Or brwWebBrowser.Document.activeElement.tagName = "IFRAME" Then
IsPopupWindow = True
Else
IsPopupWindow = False
End If
End Function
Code sample above can be copied.
To disallow, go to Pop-ups > Click on Disallow and it will check the disallow menu. ***NOTE: This cannot open links in a new window. It will block the new window from opening. ***
-
Re: vb web browser tutorial
Code:
Private Function Popups() as Boolean
Dim frmAds as Form1
Dim ppDisp as Object
Dim Cancel AS Boolean
Set frmAds = New Form1
Set ppDisp = Form1.WebBrowser1.Object
If Popups = False Then
Cancel = False
frmAds.Visible = True And Fasle
Unload frmAds
End If
End Function
Private Sub WebBrowser1_NewWindow2(ppDisp as Object, Cancel As Boolean)
Dim frmNewWindow As Form1
Set frmNewWindow = New Form1
Set ppDisp = Form1.WebBrowser1.Object
WebBrowser1.RegisterAsBrowser = True
frmNewWindow.Show
Popups = False
End Sub
This block all pop-ups* and you can still open links in a new window.
*Do NOT go on websites that the domains expired. If you go to another website, only ONE pop-up show up, close the pop-up.
-
Re: vb web browser tutorial
Dear sir,
I try like this to close my window.
but i got unspecified error and my application close.
Private Sub wbrBrowser_WindowClosing(ByVal IsChildWindow As Boolean, Cancel As Boolean)
'On Error Resume Next
If (IsChildWindow) Then
Cancel = True
Unload Me (Error On this line)
Else
Cancel = False
End If
End Sub
Private Function IsPopupWindow() As Boolean
On Error Resume Next
If WebBrowser1.Document.activeElement.tagName = "BODY" Or WebBrowser1.Document.activeElement.tagName = "IFRAME" Then
IsPopupWindow = True
Else
IsPopupWindow = False
End If
End Function
Sir What i did mistake in code can u help me ?
Thanks
Raghu Bhandari
-
Re: vb web browser tutorial
Quote:
Originally Posted by raghu_ktm@yahoo.com
Dear sir,
I try like this to close my window.
but i got unspecified error and my application close.
Private Sub wbrBrowser_WindowClosing(ByVal IsChildWindow As Boolean, Cancel As Boolean)
'On Error Resume Next
If (IsChildWindow) Then
Cancel = True
Unload Me (Error On this line)
Else
Cancel = False
End If
End Sub
Private Function IsPopupWindow() As Boolean
On Error Resume Next
If WebBrowser1.Document.activeElement.tagName = "BODY" Or WebBrowser1.Document.activeElement.tagName = "IFRAME" Then
IsPopupWindow = True
Else
IsPopupWindow = False
End If
End Function
Sir What i did mistake in code can u help me ?
Thanks
Raghu Bhandari
Remove the single quote from the On Error Resume Next line.
-
Re: vb web browser tutorial
Dear sir,
No no mistakenly i paste that wrong code but i already try without single quote. when my program execute this line VB application also close with unspecified error. Any Idea ?
-
Re: vb web browser tutorial
Quote:
Originally Posted by raghu_ktm@yahoo.com
Dear sir,
No no mistakenly i paste that wrong code but i already try without single quote. when my program execute this line VB application also close with unspecified error. Any Idea ?
If you are using Visual Basic 2005 then
Me.Close()
ElseIf you are using Visual Basic 6 Then
Unload Me
End If
-
Re: vb web browser tutorial
NO Sir
Because of JavaScript i am getting error
Code:
Private Sub wbrBrowser_WindowClosing(ByVal IsChildWindow As Boolean, Cancel As Boolean)
On Error Resume Next
If (IsChildWindow) Then
Cancel = True
Unload Me (Error On this line)
Else
Cancel = False
End If
End Sub
Some page can close but some pages catch error on this line
So what can i do ?
-
Re: vb web browser tutorial
Quote:
Originally Posted by raghu_ktm@yahoo.com
NO Sir
Because of JavaScript i am getting error
Code:
Private Sub wbrBrowser_WindowClosing(ByVal IsChildWindow As Boolean, Cancel As Boolean)
On Error Resume Next
If (IsChildWindow) Then
Cancel = True
Unload Me (Error On this line)
Else
Cancel = False
End If
End Sub
Some page can close but some pages catch error on this line
So what can i do ?
Remove the parentheces on "If (IsChildWindow) Then"
Add = True Or False after IsChildWindow. Solved?
-
Re: vb web browser tutorial
does someone know a code like when i press Enter it will load,just like "real" browsers?
-
Re: vb web browser tutorial
Quote:
Originally Posted by dalto11
I'm running on 2008 so I don't know if this is the same for you...
No,i'm using vb6 now but maybe i'll get 2008:confused:
-
Re: vb web browser tutorial - Search function
First,make a commandbutton and a textbox.
now double click on the command button and write this code:
vb Code:
Private Sub Command6_Click()
WebBrowser1.Navigate "http://www.google.com/search?hl=en&q=" & Text2.Text & "&btnG=Google+Search"
'change "WebBrowser" to the name of your own browser.
Form1.Caption = "WebBrowser - Search Results"
End Sub
Now,your browser has a search function!:)
-
Re: vb web browser tutorial
where can i get a downlaodable version of this project??? urgent...
-
Re: vb web browser tutorial
Quote:
Originally Posted by nelton
where can i get a downlaodable version of this project??? urgent...
sorry but i don't have it .. i made it a while ago!
-
Re: vb web browser tutorial
plz cud sum1 make it for me.....i tried doing it on my own but i got many errors....still learning VB
-
Re: vb web browser tutorial
also im using VB6.0....whenever i try 2 load d 'microsoft internet controls' comp it gives an error saying c:\windows\system32\ieframe.dll\1 cud not b loaded...what can b d prob
-
help needed:vb web browser tutorial
Hey Friends thanx a lot!! d tutorial was very helpful!!
is there possibility to open a vb form in a IE xplorer???
as per my project i want 2 navigate inside a vb form just like the way we navigate using frames in html.....i mean wen i click on a command button or link i want d other form 2 load within d parent form..is it possible??
thanx a lott in advance..:) ..My final yr project pendin coz of ds :confused:
Regards...
-
Re: vb web browser tutorial
Quote:
also im using VB6.0....whenever i try 2 load d 'microsoft internet controls' comp it gives an error saying c:\windows\system32\ieframe.dll\1 cud not b loaded...what can b d prob
Hi,i asked that question also, see http://www.vbforums.com/showthread.php?t=492583
-
1 Attachment(s)
Re: vb web browser tutorial
Quote:
Originally Posted by nelton
where can i get a downlaodable version of this project??? urgent...
Do you have VB6 on your PC? If so, download mine.
Blocks Pop-ups and you can still open links in a new window. :)
-
1 Attachment(s)
Re: vb web browser tutorial
Quote:
Originally Posted by nelton
also im using VB6.0....whenever i try 2 load d 'microsoft internet controls' comp it gives an error saying c:\windows\system32\ieframe.dll\1 cud not b loaded...what can b d prob
Download my attachment, unzip the contents, copy the file to C:\WINDOWS\System, hit Ctrl + T, click Browse..., Go up one, double-click on the System Folder, for the file type, choose All Files (*.*) and type in shdocvw.DLL This works 100%
The Only reason this doesn't open in Windows XP, it's because this file is not supported on VB6 with Windows XP on your PC.
-
Re: vb web browser tutorial
First off...good tutorial this. good work!
Next up ... the problems folks had, I believe relates to the version of IE you have. When I updated mine from 7 to 8 (I think, version may be wrong but in any case, from one older version to the newest), this screwed my old VB6 IE Browser control.....
Sorry if thats whats been posted above!