在 delphi 中的活动拨号或 VPN 连接上设置 IE 中的 Internet 代理
我想使用 Delphi 代码在 IE 的操作连接中设置代理。 我测试了这段代码:
Procedure SetProxy(const Server: String);
var
Reg : TRegistry;
begin
Reg := TRegistry.Create;
Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Internet Settings',False);
Reg.WriteString('ProxyServer',Server);
Reg.WriteBool('ProxyEnable',True);
Reg.CloseKey;
Reg.Free;
InternetSetOption(0, INTERNET_OPTION_SETTINGS_CHANGED, 0, 0);
end;
但它仅更改IE Internet选项中的LAN设置。
有人有解决方案吗?
附加: 如何检索连接名称列表?
I want to set proxy in action connection for IE with Delphi codes.
I test this code:
Procedure SetProxy(const Server: String);
var
Reg : TRegistry;
begin
Reg := TRegistry.Create;
Reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Internet Settings',False);
Reg.WriteString('ProxyServer',Server);
Reg.WriteBool('ProxyEnable',True);
Reg.CloseKey;
Reg.Free;
InternetSetOption(0, INTERNET_OPTION_SETTINGS_CHANGED, 0, 0);
end;
But it is change only LAN Setting in IE Internet Option.
Anyone have a solution for that?
Additional:
How can I retrieve Connection names list?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
阿明,在您的代码中您正在设置全局代理服务器。每个连接的设置都以二进制格式存储在
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections
中,该格式没有很好的记录,因此您必须弄清楚该格式并位置写入正确的数据。除了 Windows 注册表之外,您还可以使用
InternetSetOption
函数,检查此示例应用程序,它更新特定连接的代理配置。Amin, in your code you are setting the global proxy server. The setting for each connection is stored in this location
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Connections
in a binary format which is not very well documented, so you must figure out the format and position to write the correct data.Instead of the windows registry you can use the
InternetSetOption
function, check this sample application which update the proxy configuration for a particular connection.