\r
using System;\r
using System.Runtime.InteropServices;\r
+using Microsoft.Win32;\r
using FILETIME = System.Runtime.InteropServices.ComTypes.FILETIME;\r
\r
namespace KancolleSniffer\r
{\r
_orgList = list;\r
}\r
+ AdjustLocalIntranetZoneFlags();\r
}\r
\r
public void SetAutoConfigUrl(string url)\r
InternetSetOption(IntPtr.Zero, InternetOption.INTERNET_OPTION_PROXY_SETTINGS_CHANGED, IntPtr.Zero, 0);\r
}\r
\r
+ /// <summary>\r
+ /// PACファイルでDIRECTを指定すると、すべてのサイトがローカルイントラネットになり、\r
+ /// IEが互換表示になるなどの不具合があるので、イントラネットにならないようにする\r
+ /// </summary>\r
+ private void AdjustLocalIntranetZoneFlags()\r
+ {\r
+ var zones = Registry.CurrentUser.OpenSubKey(\r
+ @"Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\1", true);\r
+ if (zones == null)\r
+ return;\r
+ if (!(zones.GetValue("Flags") is int flags))\r
+ return;\r
+ zones.SetValue("Flags", flags & (-1 ^ 0x108));\r
+ }\r
+\r
[DllImport("WinInet.dll", CharSet = CharSet.Unicode)]\r
private static extern bool InternetQueryOption(IntPtr hInternet, InternetOption dwOption,\r
ref InternetPerConnOptionList optionList, ref int lpdwBufferLength);\r