InternetQueryOption API を使用してプロキシ設定を照会するプログラムを作成しています。
http://msdn.microsoft.com/en-us/library/windows/desktop/aa385145%28v=vs.85%29.aspxの Windows ドキュメントに目を通すINTERNET_PER_CONN_OPTION
ドキュメントにメモがあります
Windows 7 以降:
Internet Explorer 8 をサポートするクライアントは、INTERNET_PER_CONN_FLAGS_UI を使用して接続の種類を照会する必要があります。このクエリが失敗した場合、システムは以前のバージョンの Internet Explorer を実行しているため、クライアントは INTERNET_PER_CONN_FLAGS を使用して再度クエリを実行する必要があります。Internet Explorer のバージョンに関係なく、INTERNET_PER_CONN_FLAGS を使用して接続の種類を復元します。
IE9 を実行している Win7 64 ビット マシンのINTERNET_PER_CONN_FLAGS
代わりに使用してテストしましたが、すべて正常に動作しているようです。INTERNET_PER_CONN_FLAGS_UI
また、 と の機能に関するドキュメントも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
INTERNET_PER_CONN_FLAGS_UI
また、これは具体的にどういう意味ですか
Internet Explorer のバージョンに関係なく、INTERNET_PER_CONN_FLAGS を使用して接続の種類を復元します。
これはと にINTERNET_PER_CONN_FLAGS_UI
のみ関連するという意味ですか。常に を使用する必要があります。InternetQueryOption
InternetSetOption
INTERNET_PER_CONN_FLAGS