zoukankan      html  css  js  c++  java
  • IE代理的设置与取消

    要实时更新IE所有实例需调用如下API:

    [DllImport("wininet.dll", SetLastError = true)]
            
    private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength);

    然后刷新IE设置:

    private static void RefreshIESettings()
            {
                
    const int INTERNET_OPTION_REFRESH = 0x000025;
                
    const int INTERNET_OPTION_SETTINGS_CHANGED = 0x000027;
                InternetSetOption(IntPtr.Zero, INTERNET_OPTION_SETTINGS_CHANGED, IntPtr.Zero, 
    0);
                InternetSetOption(IntPtr.Zero, INTERNET_OPTION_REFRESH, IntPtr.Zero, 
    0);
            }

    最后写IE在注册表中的设置即可:

    public static void SetIEProxy(Proxy proxy)
            
    {
                
    string proxyIP = "";
                proxyIP
    =string.Format("{0}:{1}", proxy.ProxyAddr, proxy.ProxyPort);
                RegistryKey rk 
    = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Internet Settings"true);
                rk.SetValue(
    "ProxyEnable"1);
                rk.SetValue(
    "ProxyServer", proxyIP);
                rk.Close();
                RefreshIESettings();
            }


            
    public static void CancelIEProxy()
            
    {
                RegistryKey rk 
    = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Internet Settings",true);
                rk.SetValue(
    "ProxyEnable"0);
                rk.Close();
                RefreshIESettings();
            }


    public class Proxy
        
    {
            
    private string proxyName;
            
    private string proxyAddr;
            
    private int port;

            
    public Proxy(string name, string addr, int port)
            
    {
                
    this.proxyName = name;
                
    this.proxyAddr = addr;
                
    this.port = port;
            }


            
    public string ProxyName get return proxyName; } }
            
    public string ProxyAddr get return proxyAddr; } }
            
    public int ProxyPort get return port; } }

            
    public override string ToString()
            
    {
                
    return proxyName;
            }

        }
  • 相关阅读:
    matlab 画图中线型及颜色设置
    创建二叉树求叶子节点个数
    乐视2016暑期实习编程题
    MFC特定函数的应用20160720(SystemParametersInfo,GetWindowRect,WriteProfileString,GetSystemMetrics)
    MFC使用ShowWindow(SW_MAXIMIZE)任务栏消失的处理
    Windows字符集的统一与转换
    MFC学习20160718(GetModuleFileName&&GetAppDataPath)
    泛型算法概述
    链表的特有算法操作
    流迭代器的使用
  • 原文地址:https://www.cnblogs.com/wudingfeng/p/1310246.html
Copyright © 2011-2022 走看看