我在写一个程序,它使用InternetQueryOption API查询代理设置。通过Windows文档InternetQueryOption,INTERNET_PER_CONN_OPTION和INTERNET_PER_CONN_FLAGS_UI标志
寻找INTERNET_PER_CONN_OPTION
http://msdn.microsoft.com/en-us/library/windows/desktop/aa385145%28v=vs.85%29.aspx
有一个在文档
Windows 7和后一张纸条:
的客户端支持Internet Explorer 8应查询的连接类型使用INTERNET_PER_CONN_FLAGS_UI。如果此查询失败,则系统正在运行先前版本的Internet Explorer,并且客户端应使用INTERNET_PER_CONN_FLAGS再次查询。无论Internet Explorer的版本如何,都使用INTERNET_PER_CONN_FLAGS恢复连接类型。
我一直在使用INTERNET_PER_CONN_FLAGS
代替INTERNET_PER_CONN_FLAGS_UI
运行IE9 &一切Win7的64位计算机上似乎正常工作测试。
此外,INTERNET_PER_CONN_FLAGS
和INTERNET_PER_CONN_FLAGS_UI
的功能文档看起来完全相同。
那么使用INTERNET_PER_CONN_FLAGS_UI
的原因是什么?请注意,它只是IE8或IE8 &更大。
我的程序需要支持从运行IE6的WinXP到当前的Win7机器。所以我不清楚我应该用什么。
这是我的代码
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 = 0;
List.dwOptionCount = sizeof(Option)/sizeof(Option[0]);
List.dwOptionError = 0;
Option[0].Value.pszValue = 0;
List.pOptions = Option;
InternetQueryOption(NULL, INTERNET_OPTION_PER_CONNECTION_OPTION, &List, &nSize);
我应该改变
INTERNET_PER_CONN_FLAGS
到INTERNET_PER_CONN_FLAGS_UI
&然后再万一INTERNET_PER_CONN_FLAGS_UI
失败INTERNET_PER_CONN_FLAGS
打电话?而且这究竟意味着
恢复使用INTERNET_PER_CONN_FLAGS不管的Internet Explorer版本的连接类型。
这是否意味着INTERNET_PER_CONN_FLAGS_UI
相关仅供InternetQueryOption
和InternetSetOption
,我应该使用INTERNET_PER_CONN_FLAGS
始终。