これは、プロキシを有効にするために使用するコードです。Server 2008 R2 (Windows 7 Kernal) までのすべてのバージョンの Windows で正常に動作しました。今では最初の時間だけ動作します。アプリケーションを起動してプロキシを有効にすると、問題なく動作します。次に、以下のコードのようなコードを使用して無効にします。無効になることはありません。インターネット オプションに移動して手動で無効にし、アプリケーションから再度有効にしようとしても、有効になりません。
私の知る限り、私のコードの最初の InternetSetOption コマンドは、regKey.SetValue() 関数で行った変更を元に戻しています。少なくとも、私がそれを通り抜けると、それが起こっているように見えます. この問題を以前に見たことがある人、または修正方法を知っている人はいますか。しばらくの間、回避策を見つけようとしてきましたが、何も見つかりませんでした。任意の入力をいただければ幸いです。
regKey.SetValue("ProxyServer", "localhost:" + Settings.Default.Port, RegistryValueKind.String);
regKey.SetValue("ProxyEnable", 1, RegistryValueKind.DWord);
regKey.Flush();
InternetSetOption(IntPtr.Zero, 39, IntPtr.Zero, 0); //INTERNET_OPTION_SETTINGS_CHANGED
InternetSetOption(IntPtr.Zero, 37, IntPtr.Zero, 0); //INTERNET_OPTION_REFRESH