检测webbrowser无法访问网站及代理切换 两个问题:1、如何检测webbrowser控件访问的网站无法打开2、webbrowser的代理服务器设置病直接生效 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 第一个问题不懂……可能要看返回值吧procedure TForm1.Button1Click(Sender: TObject);var info : INTERNET_PROXY_INFO; reg : TRegistry;begin reg := TRegistry.Create; reg.RootKey:=HKEY_CURRENT_USER; if reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Internet Settings',False) then begin reg.Writestring('ProxyServer','172.23.23.23:8888'); reg.Writestring('ProxyEnable', '1'); end; reg.CloseKey; reg.Free; info.dwAccessType:=INTERNET_OPEN_TYPE_PROXY; info.lpszProxy:='172.23.23.23:8888'; InternetSetOption(nil,INTERNET_OPTION_PROXY,@info,1000); InternetSetOption(nil,INTERNET_OPTION_REFRESH, nil,0); InternetSetOption(nil,INTERNET_OPTION_SETTINGS_CHANGED, nil,0);end;如果是切换代理的话user urlmon,wininet;procedure qiehuanproxy(const proxyname:string);var info:TInternetProxyInfo; lngth:integer; h:integer; proxy :pChar; bypass :PChar; begin proxy:=pchar(proxyname);//proxy address:port bypass:=pChar(''); info.dwAccessType := INTERNET_OPEN_TYPE_PROXY ; info.lpszProxy :=proxy; info.lpszProxyBypass:=bypass; lngth:=sizeof(info); h:=UrlMkSetSessionOption(INTERNET_OPTION_PROXY ,@info,lngth,0);end procedure TForm1.Button1Click(Sender: TObject); var info : INTERNET_PROXY_INFO; reg : TRegistry; begin reg := TRegistry.Create; reg.RootKey:=HKEY_CURRENT_USER; if reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Internet Settings',False) then begin reg.Writestring('ProxyServer','172.23.23.23:8888'); reg.Writestring('ProxyEnable', '1'); end; reg.CloseKey; reg.Free; info.dwAccessType:=INTERNET_OPEN_TYPE_PROXY; info.lpszProxy:='172.23.23.23:8888'; InternetSetOption(nil,INTERNET_OPTION_PROXY,@info,1000); InternetSetOption(nil,INTERNET_OPTION_REFRESH, nil,0); InternetSetOption(nil,INTERNET_OPTION_SETTINGS_CHANGED, nil,0); end; 如果是切换代理的话 user urlmon,wininet; procedure qiehuanproxy(const proxyname:string); var info:TInternetProxyInfo; lngth:integer; h:integer; proxy :pChar; bypass :PChar; begin proxy:=pchar(proxyname);//proxy address:port bypass:=pChar(''); info.dwAccessType := INTERNET_OPEN_TYPE_PROXY ; info.lpszProxy :=proxy; info.lpszProxyBypass:=bypass; lngth:=sizeof(info); h:=UrlMkSetSessionOption(INTERNET_OPTION_PROXY ,@info,lngth,0); end procedure TForm1.Button1Click(Sender: TObject); var info : INTERNET_PROXY_INFO; reg : TRegistry; begin reg := TRegistry.Create; reg.RootKey:=HKEY_CURRENT_USER; if reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Internet Settings',False) then begin reg.Writestring('ProxyServer','172.23.23.23:8888'); reg.Writestring('ProxyEnable', '1'); end; reg.CloseKey; reg.Free; info.dwAccessType:=INTERNET_OPEN_TYPE_PROXY; info.lpszProxy:='172.23.23.23:8888'; InternetSetOption(nil,INTERNET_OPTION_PROXY,@info,1000); InternetSetOption(nil,INTERNET_OPTION_REFRESH, nil,0); InternetSetOption(nil,INTERNET_OPTION_SETTINGS_CHANGED, nil,0); end; 如果是切换代理的话 user urlmon,wininet; procedure qiehuanproxy(const proxyname:string); var info:TInternetProxyInfo; lngth:integer; h:integer; proxy :pChar; bypass :PChar; begin proxy:=pchar(proxyname);//proxy address:port bypass:=pChar(''); info.dwAccessType := INTERNET_OPEN_TYPE_PROXY ; info.lpszProxy :=proxy; info.lpszProxyBypass:=bypass; lngth:=sizeof(info); h:=UrlMkSetSessionOption(INTERNET_OPTION_PROXY ,@info,lngth,0); end 谢谢大家,这个我知道,但如何使用的sock5的代理,而且还是有用户和密码的,不知如何设置 http://www.qqgb.com/Program/Delphi/DelphiWord/Program_59378.html你看看这个对你有没有帮助 1、如何检测webbrowser控件访问的网站无法打开 这个有间接方法,判断一个IE出现的头标题的字就行了。2、webbrowser的代理服务器设置直接生效,楼上已经说了。 csdn下载改版了,今天.感觉有点花 高价求开发DLL 求sql语句 如何取得操作系统(windows)的所有文件类型!!! 谁有使用delphi和微软的ado对象的的数据库操作的代码?特别是:添加,删除? Oracle和SQL server 的分析 SkinEngine是怎麼用的,請教了。 等待执行winexec至结束,怎么控制? 懂的帮看看,是否要用多线程?怎么用 送分问题! 关于sql 子句set的使用问题??????? treeview控件怎么按日期倒着排序显示?
procedure TForm1.Button1Click(Sender: TObject);
var
info : INTERNET_PROXY_INFO;
reg : TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
if reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Internet Settings',False) then
begin
reg.Writestring('ProxyServer','172.23.23.23:8888');
reg.Writestring('ProxyEnable', '1');
end;
reg.CloseKey;
reg.Free; info.dwAccessType:=INTERNET_OPEN_TYPE_PROXY;
info.lpszProxy:='172.23.23.23:8888';
InternetSetOption(nil,INTERNET_OPTION_PROXY,@info,1000); InternetSetOption(nil,INTERNET_OPTION_REFRESH, nil,0);
InternetSetOption(nil,INTERNET_OPTION_SETTINGS_CHANGED, nil,0);
end;
如果是切换代理的话
user urlmon,wininet;
procedure qiehuanproxy(const proxyname:string);
var info:TInternetProxyInfo;
lngth:integer;
h:integer;
proxy :pChar;
bypass :PChar;
begin
proxy:=pchar(proxyname);//proxy address:port
bypass:=pChar('');
info.dwAccessType := INTERNET_OPEN_TYPE_PROXY ;
info.lpszProxy :=proxy;
info.lpszProxyBypass:=bypass;
lngth:=sizeof(info);
h:=UrlMkSetSessionOption(INTERNET_OPTION_PROXY ,@info,lngth,0);
end
var
info : INTERNET_PROXY_INFO;
reg : TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
if reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Internet Settings',False) then
begin
reg.Writestring('ProxyServer','172.23.23.23:8888');
reg.Writestring('ProxyEnable', '1');
end;
reg.CloseKey;
reg.Free; info.dwAccessType:=INTERNET_OPEN_TYPE_PROXY;
info.lpszProxy:='172.23.23.23:8888';
InternetSetOption(nil,INTERNET_OPTION_PROXY,@info,1000); InternetSetOption(nil,INTERNET_OPTION_REFRESH, nil,0);
InternetSetOption(nil,INTERNET_OPTION_SETTINGS_CHANGED, nil,0);
end;
如果是切换代理的话
user urlmon,wininet;
procedure qiehuanproxy(const proxyname:string);
var info:TInternetProxyInfo;
lngth:integer;
h:integer;
proxy :pChar;
bypass :PChar;
begin
proxy:=pchar(proxyname);//proxy address:port
bypass:=pChar('');
info.dwAccessType := INTERNET_OPEN_TYPE_PROXY ;
info.lpszProxy :=proxy;
info.lpszProxyBypass:=bypass;
lngth:=sizeof(info);
h:=UrlMkSetSessionOption(INTERNET_OPTION_PROXY ,@info,lngth,0);
end
var
info : INTERNET_PROXY_INFO;
reg : TRegistry;
begin
reg := TRegistry.Create;
reg.RootKey:=HKEY_CURRENT_USER;
if reg.OpenKey('\Software\Microsoft\Windows\CurrentVersion\Internet Settings',False) then
begin
reg.Writestring('ProxyServer','172.23.23.23:8888');
reg.Writestring('ProxyEnable', '1');
end;
reg.CloseKey;
reg.Free; info.dwAccessType:=INTERNET_OPEN_TYPE_PROXY;
info.lpszProxy:='172.23.23.23:8888';
InternetSetOption(nil,INTERNET_OPTION_PROXY,@info,1000); InternetSetOption(nil,INTERNET_OPTION_REFRESH, nil,0);
InternetSetOption(nil,INTERNET_OPTION_SETTINGS_CHANGED, nil,0);
end;
如果是切换代理的话
user urlmon,wininet;
procedure qiehuanproxy(const proxyname:string);
var info:TInternetProxyInfo;
lngth:integer;
h:integer;
proxy :pChar;
bypass :PChar;
begin
proxy:=pchar(proxyname);//proxy address:port
bypass:=pChar('');
info.dwAccessType := INTERNET_OPEN_TYPE_PROXY ;
info.lpszProxy :=proxy;
info.lpszProxyBypass:=bypass;
lngth:=sizeof(info);
h:=UrlMkSetSessionOption(INTERNET_OPTION_PROXY ,@info,lngth,0);
end
你看看这个对你有没有帮助
这个有间接方法,判断一个IE出现的头标题的字就行了。
2、webbrowser的代理服务器设置直接生效,楼上已经说了。