//----------------------------------------------- //记得引用 WinInet 单元 //----------------------------------------------- uses WinInet
//---------------------------------------------- //定义要使用的函数 //----------------------------------------------
function GetProxyInformation: string; var ProxyInfo: PInternetProxyInfo; Len: LongWord; begin Result := ''''''''; Len := 4096; GetMem(ProxyInfo, Len); try if InternetQueryOption(nil, INTERNET_OPTION_PROXY, ProxyInfo, Len) then if ProxyInfo^.dwAccessType = INTERNET_OPEN_TYPE_PROXY then begin Result := ProxyInfo^.lpszProxy end; finally FreeMem(ProxyInfo); end; end;
procedure GetProxyServer(protocol: string; var ProxyServer: string; var ProxyPort: Integer); var i: Integer; proxyinfo, ps: string; begin ProxyServer := ''''''''; ProxyPort := 0;
proxyinfo := GetProxyInformation; if proxyinfo = '''''''' then Exit;
protocol := protocol + ''''='''';
i := Pos(protocol, proxyinfo); if i > 0 then begin Delete(proxyinfo, 1, i + Length(protocol)); i := Pos('''';'''', ProxyServer); if i > 0 then proxyinfo := Copy(proxyinfo, 1, i - 1); end;
i := Pos('''':'''', proxyinfo); if i > 0 then begin ProxyPort := StrToIntDef(Copy(proxyinfo, i + 1, Length(proxyinfo) - i), 0); ProxyServer := Copy(proxyinfo, 1, i - 1) end end; //---------------------------------------------------------------- //使用范例 //---------------------------------------------------------------- procedure TForm1.Button1Click(Sender: TObject); var ProxyServer: string; ProxyPort: Integer; begin GetProxyServer(''''http'''', ProxyServer, ProxyPort); if ProxyPort=0 then begin ShowMessage(''''你的IE没有使用的代理服务器'''') end else Label1.Caption := ProxyServer; label2.Caption := IntToStr(ProxyPort);
end;
没有相关教程
|