在VB如何模仿浏览器地址输入

我想用VB写个,像浏览器的地址输入栏.当输入网址http://www.XXX.com/点"确定"之后,就自动打开浏览器.访问到你输入的哪个网站!----还要一个可以搜索 中文的 可以选择百度 雅虎 等...但是不知道怎么写,希望会的朋友.指导一下!或者给下源代码,如果好的话.追加200分..谢谢 急
要求是在Text1输入中文 然后在Check1/Check2选择百度/雅虎 进行实名网络搜索.... 说明:我要的不是在软件中浏览网页 而是在Internet Explorer中浏览 要求我输入的网址 要在Internet Explorer打开

可以使用API函数ShellExcute,我给您写了一个简单的程序,您运行后可以看到结果和关于ShellExcute的说明,望加分!
运行方法:
1.新建一个文本文件
2.将代码粘贴在里面
3.另存为“frmMain.frm”(注意,保存为frm后缀名)
4.双击“frmMain.frm”将自动调用VB6打开.
注意:我的代码是frm文件的源文件,不要直接粘贴在VB6的IDE里面双击出来的文本框里!

代码如下>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

VERSION 5.00
Begin VB.Form frmMain
Caption = "Search Assistant Demo"
ClientHeight = 2055
ClientLeft = 60
ClientTop = 450
ClientWidth = 4920
LinkTopic = "Form1"
ScaleHeight = 2055
ScaleWidth = 4920
StartUpPosition = 3 '窗口缺省
Begin VB.Frame fraQueryEngine
Caption = "选择搜索引擎"
Height = 1395
Left = 120
TabIndex = 2
Top = 540
Width = 4695
Begin VB.OptionButton optQueryEngine
Caption = "雅虎: http://search.cn.yahoo.com/search?p=%s"
Height = 435
Index = 2
Left = 120
TabIndex = 5
Top = 900
Width = 4455
End
Begin VB.OptionButton optQueryEngine
Caption = "Google: http://www.google.com/search?q=%s "
Height = 435
Index = 1
Left = 120
TabIndex = 4
Top = 540
Width = 4455
End
Begin VB.OptionButton optQueryEngine
Caption = "百度: http://www.baidu.com/s?wd=%s "
Height = 435
Index = 0
Left = 120
TabIndex = 3
Top = 180
Value = -1 'True
Width = 4455
End
End
Begin VB.TextBox txtQueryText
Height = 315
Left = 840
TabIndex = 1
Text = "输入要搜索的内容"
Top = 120
Width = 3135
End
Begin VB.CommandButton cmdQuery
Caption = "给我搜"
Default = -1 'True
Height = 315
Left = 4080
TabIndex = 6
Top = 120
Width = 735
End
Begin VB.Label lblKeyWord
Caption = "关键词:"
Height = 255
Left = 120
TabIndex = 0
Top = 180
Width = 735
End
End
Attribute VB_Name = "frmMain"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

'**************************************************************************************************************
'ShellExecute
'
'VB声明
' 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
'说明
' 查找与指定文件关联在一起的程序的文件名
'返回值
' Long,非零表示成功,零表示失败。会设置GetLastError
'参数表
' 参数 类型及说明
' hwnd Long, 指定一个窗口的句柄,有时候,windows程序有必要在创建自己的主窗口前显示一个消息框
' lpOperation String,指定字串“open”来打开lpFlie文档,或指定“Print”来打印它
' lpFile String,想用关联程序打印或打开一个程序名或文件名
' lpParameters String,如lpszFlie是可执行文件,则这个字串包含传递给执行程序的参数
' lpDirectory String,想使用的完整路径
' nShowCmd Long, 定义了如何显示启动程序的常数值。参考ShowWindow函数的nCmdShow参数
'**************************************************************************************************************

'**************************************************************************************************************
'GetLastError
'
'VB声明
' Declare Function GetLastError Lib "kernel32" () As Long
'说明
' 针对之前调用的api函数,用这个函数取得扩展错误信息(在vb里使用:在vb中,用Err对象的GetLastError属性获取
'GetLastError的值。这样做是必要的,因为在api调用返回以及vb调用继续执行期间,vb有时会重设GetLastError的值)
'返回值
' Long,由api函数决定。请参考api32.txt文件,其中列出了一系列错误常数;都以ERROR_前缀起头。
'常用的错误代码
' ERROR_INVALID_HANDLE 无效的句柄作为一个参数传递
' ERROR_CALL_NOT_IMPLEMENTED 在win 95下调用专为win nt设计的win32 api函数
' ERROR_INVALID_PARAMETER 函数中有个参数不正确
'注解
' GetLastError返回的值通过在api函数中调用SetLastError或SetLastErrorEx设置。函数并无必要设置上一次错误信息,所
'以即使一次GetLastError调用返回的是零值,也不能担保函数已成功执行。只有在函数调用返回一个错误结果时,这个函数指
'出的错误结果才是有效的。通常,只有在函数返回一个错误结果,而且已知函数会设置GetLastError变量的前提下,才应访问
'GetLastError;这时能保证获得有效的结果。SetLastError函数主要在对api函数进行模拟的dll函数中使用,所以对vb应用程
'序来说是没有意义的
'**************************************************************************************************************

'**************************************************************************************************************
'ShowWindow
'
'VB声明
' Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, _
' ByVal nCmdShow As Long) As Long
'说明
' 控制窗口的可见性(在vb里使用:针对vb窗体及控件,请使用对应的vb属性)
'返回值
' Long,如窗口之前是可见的,则返回TRUE(非零),否则返回FALSE(零)
'参数表
' 参数 类型及说明
' hwnd Long,窗口句柄,要向这个窗口应用由nCmdShow指定的命令
' nCmdShow Long,为窗口指定可视性方面的一个命令。
'请用下述任何一个常数
' SW_HIDE 隐藏窗口,活动状态给令一个窗口
' SW_MINIMIZE 最小化窗口,活动状态给令一个窗口
' SW_RESTORE 用原来的大小和位置显示一个窗口,同时令其进入活动状态
' SW_SHOW 用当前的大小和位置显示一个窗口,同时令其进入活动状态
' SW_SHOWMAXIMIZED 最大化窗口,并将其激活
' SW_SHOWMINIMIZED 最小化窗口,并将其激活
' SW_SHOWMINNOACTIVE 最小化一个窗口,同时不改变活动窗口
' SW_SHOWNA 用当前的大小和位置显示一个窗口,不改变活动窗口
' SW_SHOWNOACTIVATE 用最近的大小和位置显示一个窗口,同时不改变活动窗口
' SW_SHOWNORMAL 与SW_RESTORE相同
'**************************************************************************************************************

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
Dim szQueryEngine As String '搜索引擎代码

'载入窗体时初始化搜索引擎代码,默认为optQueryEngine的默认引擎,即百度搜索的搜索代码
Private Sub Form_Load()
szQueryEngine = "http://www.baidu.com/s?wd="
End Sub

'使用Option数组来选择搜索引擎,Option数组的名字为"optQueryEngine",分别代表三个不同搜索引擎,可另行添加
Private Sub optQueryEngine_Click(Index As Integer)
Select Case Index
Case 0
szQueryEngine = "http://www.baidu.com/s?wd="
Case 1
szQueryEngine = "http://www.google.com/search?q="
Case 2
szQueryEngine = "http://search.cn.yahoo.com/search?p="
End Select
End Sub

'使用TextBox来输入待查询的词,TextBox的名字为"txtQueryText",以下过程使txtQueryText获取焦点时自动全选
Private Sub txtQueryText_GotFocus()
txtQueryText.SelStart = 0
txtQueryText.SelLength = Len(txtQueryText.Text)
End Sub

Private Sub cmdQuery_Click()
Debug.Print IIf((ShellExecute(Me.hwnd, "open", szQueryEngine & txtQueryText.Text, vbNullString, vbNullString, 0)) > 32, "Successed", "Failed")
End Sub
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-03-06
使用 vb的webbrowse控件就可以搞定了

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网