vb 使用谷歌浏览器 vb调用谷歌浏览器

各位老铁们好,相信很多人对vb 使用谷歌浏览器都不是特别的了解,因此呢,今天就来为大家分享下关于vb 使用谷歌浏览器以及vb调用谷歌浏览器的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

vb 使用谷歌浏览器 vb调用谷歌浏览器

本文目录

  1. vb.net/.net怎样使用http协议的get和post
  2. vb在ie不是默认浏览器的情况下怎样打开网页
  3. vb的postmessage函数的使用,完全没反应,想破脑袋也没想通
  4. 谷歌浏览器 win7任务栏出现两个图标

一、vb.net/.net怎样使用http协议的get和post

使用 HttpWebRequest向网站提交数据

HttpWebRequest是.net基类库中的一个类,在命名空间 System.Net下面,用来使用户通过 HTTP协议和服务器交互。

HttpWebRequest对 HTTP协议进行了完整的封装,对 HTTP协议中的 Header, Content, Cookie都做了属性和方法的支持,很容易就能编写出一个模拟浏览器自动登录的程序。

程序使用 HTTP协议和服务器交互主要是进行数据的提交,通常数据的提交是通过 GET和 POST两种方式来完成,下面对这两种方式进行一下说明:

1. GET方式。 GET方式通过在网络地址附加参数来完成数据的提交,比如在地址 中,前面部分 表示数据提交的网址,后面部分 hl=zh-CN表示附加的参数,其中 hl表示一个键(key), zh-CN表示这个键对应的值(value)。程序代码如下:

HttpWebRequest req=(HttpWebRequest) HttpWebRequest.Create("");

using(WebResponse wr= req.GetResponse())

//在这里对接收到的页面内容进行处理

2. POST方式。 POST方式通过在页面内容中填写参数的方法来完成数据的提交,参数的格式和 GET方式一样,是类似于 hl=zh-CN&newwindow=1这样的结构。程序代码如下:

string param="hl=zh-CN&newwindow=1";

byte[] bs= Encoding.ASCII.GetBytes(param);

HttpWebRequest req=(HttpWebRequest) HttpWebRequest.Create("");

req.ContentType="application/x-www-form-urlencoded";

using(Stream reqStream= req.GetRequestStream())

reqStream.Write(bs, 0, bs.Length);

using(WebResponse wr= req.GetResponse())

//在这里对接收到的页面内容进行处理

在上面的代码中,我们访问了 www.google.com的网址,分别以 GET和 POST方式提交了数据,并接收了返回的页面内容。然而,如果提交的参数中含有中文,那么这样的处理是不够的,需要对其进行编码,让对方网站能够识别。

3.使用 GET方式提交中文数据。 GET方式通过在网络地址中附加参数来完成数据提交,对于中文的编码,常用的有 gb2312和 utf8两种,用 gb2312方式编码访问的程序代码如下:

Encoding myEncoding= Encoding.GetEncoding("gb2312");

string address="?"+ HttpUtility.UrlEncode("参数一", myEncoding)+"="+ HttpUtility.UrlEncode("值一", myEncoding);

HttpWebRequest req=(HttpWebRequest)HttpWebRequest.Create(address);

using(WebResponse wr= req.GetResponse())

//在这里对接收到的页面内容进行处理

在上面的程序代码中,我们以 GET方式访问了网址 ,传递了参数“参数一=值一”,由于无法告知对方提交数据的编码类型,所以编码方式要以对方的网站为标准。常见的网站中, www.baidu.com(百度)的编码方式是 gb2312, www.google.com(谷歌)的编码方式是 utf8。

4.使用 POST方式提交中文数据。 POST方式通过在页面内容中填写参数的方法来完成数据的提交,由于提交的参数中可以说明使用的编码方式,所以理论上能获得更大的兼容性。用 gb2312方式编码访问的程序代码如下:

Encoding myEncoding= Encoding.GetEncoding("gb2312");

string param= HttpUtility.UrlEncode("参数一", myEncoding)+"="+ HttpUtility.UrlEncode("值一", myEncoding)+"&"+ HttpUtility.UrlEncode("参数二", myEncoding)+"="+ HttpUtility.UrlEncode("值二", myEncoding);

byte[] postBytes= Encoding.ASCII.GetBytes(param);

HttpWebRequest req=(HttpWebRequest) HttpWebRequest.Create("");

req.ContentType="application/x-www-form-urlencoded;charset=gb2312";

req.ContentLength= postBytes.Length;

using(Stream reqStream= req.GetRequestStream())

reqStream.Write(bs, 0, bs.Length);

using(WebResponse wr= req.GetResponse())

//在这里对接收到的页面内容进行处理

从上面的代码可以看出, POST中文数据的时候,先使用 UrlEncode方法将中文字符转换为编码后的 ASCII码,然后提交到服务器,提交的时候可以说明编码的方式,用来使对方服务器能够正确的解析。

以上列出了客户端程序使用 HTTP协议与服务器交互的情况,常用的是 GET和 POST方式。现在流行的 WebService也是通过 HTTP协议来交互的,使用的是 POST方法。与以上稍有所不同的是, WebService提交的数据内容和接收到的数据内容都是使用了 XML方式编码。所以, HttpWebRequest也可以使用在调用 WebService的情况下。

二、vb在ie不是默认浏览器的情况下怎样打开网页

默认浏览器不是IE浏览器,VB可以打开自行设置的默认浏览器来浏览网页。

代码1)用Shell函数直接调用explorer.exe来打开网页。

strOpen=Shell("explorer.exe"&Text1,1)

Text1=""

EndSub

代码2)使用Api函数ShellExecute实现打开网页。

代码2)使用Api函数ShellExecute实现打开网页。

PrivateDeclareFunctionShellExecuteLib"shell32.dll"Alias"ShellExecuteA"(ByValhwndAsLong,ByVallpOperationAsString,ByVallpFileAsString,ByVallpParametersAsString,ByVallpDirectoryAsString,ByValnShowCmdAsLong)AsLong

PrivateSubOpenUrl(tUrlAsString)

ShellExecuteMe.hwnd,"Open",tUrl,0,0,0

Text1=""

EndSub

两种方式都能在设置谷歌浏览器为默认浏览器状况下,打开想看的网页。

两种方式都能在设置谷歌浏览器为默认浏览器状况下,打开想看的网页。

三、vb的postmessage函数的使用,完全没反应,想破脑袋也没想通

1、下行加个debug.print hWndX'看看是否为0

2、另外应该还少一个api函数FindWindowEx

3、如果只用窗体一个函数就够了,如果还要窗体下的一个控件那还得需要一个api函数,spy++是看控件类型的,就一窗体根本用不了spy++

4、参考一下以前我写的(看怎么找控件,用的是sendmessage,你的问题就出在这里):

5、Private Declare Function FindWindowEx Lib"user32" Alias"FindWindowExA"(ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long

6、Private Declare Function SendMessage Lib"user32" Alias"SendMessageA"(ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

7、Private Declare Function FindWindow Lib"user32" Alias"FindWindowA"(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

8、 Dim s As String, myhwnd As Long

9、 myhwnd= FindWindow(vbNullString,"abc.txt-记事本")

10、 myhwnd= FindWindowEx(myhwnd, 0&,"Edit", vbNullString)'控件名用spy++查看,这里是Edit,特定的软件控件名都是固定的

11、 SendMessage myhwnd, WM_SETTEXT, 0, ByVal s

四、谷歌浏览器 win7任务栏出现两个图标

1、一般情况下,要么是chrome设置了google账户,要么是快捷方式锁定。

2、如果不需要登录google账户,建议就使用默认的。快捷方式锁定到任务栏的话,就没办法调用,所以会出现一个新的栏,这种情况下建议找到chrome运行程序的原地址,然后直接添加到任务栏。

3、或者,卸载再重新安装,卸载的时候注意完全卸载干净,包括注册表。

好了,本文到此结束,如果可以帮助到大家,还望关注本站哦!

声明:信息资讯网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者东方体育日报所有。若您的权利被侵害,请联系 删除。

本文链接:http://www.gdxhedu.com/news/149031.html