相关疑难解决方法(0)

Delphi应用程序如何检测Windows PC的网络代理设置?

我有一个Delphi应用程序,它使用Indy组件与Internet上的Web服务器通信.该应用程序的大多数用户具有直接的Internet连接,但有些用户位于本地网络的代理服务器之后.我不想要求用户在" Internet选项/连接/ LAN设置"对话框中查找其代理服务器

替代文字http://toybase.files.wordpress.com/2008/11/ie-proxy-settings.png

坦率地说,大多数人都不会知道或关心这个设置是什么.

我可以通过Delphi-7应用程序的某些系统调用获取此信息吗?

非常感谢!

delphi proxy delphi-7

10
推荐指数
1
解决办法
7712
查看次数

无法在Windows 7上查询代理"自动检测设置"

我正在尝试捕获代理设置("自动检测设置").我的代码适用于XP和Vista.但它不适用于Windows 7

请查看目标平台的详细信息

Windows 7 Enterprise,IE 8.0.7600.16385,Wininet.dll 8.0.7600.16535

请参阅代码段

INTERNET_PER_CONN_OPTION_LIST List;
INTERNET_PER_CONN_OPTION Option[1];

unsigned long nSize = sizeof(INTERNET_PER_CONN_OPTION_LIST);
Option[0].dwOption = INTERNET_PER_CONN_FLAGS;
List.dwSize = sizeof(INTERNET_PER_CONN_OPTION_LIST);
List.pszConnection = NULL;
List.dwOptionCount = 1;
List.dwOptionError = 0;
List.pOptions = Option;

if(!InternetQueryOption(NULL, INTERNET_OPTION_PER_CONNECTION_OPTION, &List, &nSize))
    AfxMessageBox(L"InternetQueryOption failed! (%d)\n");

TCHAR a[100];
swprintf(a, L"Flag value is : %d",Option[0].Value.dwValue, 80); 
AfxMessageBox(a);
Run Code Online (Sandbox Code Playgroud)

但是在Windows 7上,即使选中了IE中的"自动检测设置"选项,程序也会指出该标志未设置

我尝试使用WinHttp api,如下所示.

WINHTTP_CURRENT_USER_IE_PROXY_CONFIG stProxyConfig = {0};

WinHttpGetIEProxyConfigForCurrentUser(&stProxyConfig);

if (stProxyConfig.fAutoDetect == TRUE)
    AfxMessageBox(L"Auto proxy detection enabled");
else
    AfxMessageBox(L"Auto proxy detection disabled");
Run Code Online (Sandbox Code Playgroud)

在Windows 7上,上面的代码也无法捕获"自动检测设置"选项.对此的任何意见都非常感谢.

谢谢约翰

windows proxy wininet windows-7

3
推荐指数
1
解决办法
5422
查看次数

标签 统计

proxy ×2

delphi ×1

delphi-7 ×1

windows ×1

windows-7 ×1

wininet ×1