0

Web ブラウザでプロキシを使用したいのですが、マシンのレジストリを編集する必要はありません。

4

1 に答える 1

3

WMIを使用できますが、それでもシステム設定が調整されます。独自のプロセスのプロキシ設定のみを調整したい場合は、urlmon.dll によって公開される UrlMkSetSessionOption を介して行うことができます。この関数の例を以下に示します。INTERNET_OPTION_PROXY の詳細については、http: //msdn.microsoft.com/en-us/library/windows/desktop/aa385328(v=vs.85).aspx を参照してください。

private void SetSessionProxy(strin ProxyAddress, string BypassList)
{
    var proxyInfo= new INTERNET_PROXY_INFO {
        dwAccessType = 0x3,
        lpszProxy = ProxyAddress,
        lpszProxyBypass = BypassList
    };
    int structSize = Marshal.SizeOf(proxyInfo);
    const uint SetProxy = 0x26;

    if (Win32Native.UrlMkSetSessionOption(SetProxy, structure, dwLen, 0) != 0)
        throw new Win32Exception();
}

[StructLayout(LayoutKind.Sequential)]
private class INTERNET_PROXY_INFO
{
    public uint dwAccessType;
    [MarshalAs(UnmanagedType.LPStr)]
    public string lpszProxy;
    [MarshalAs(UnmanagedType.LPStr)]
    public string lpszProxyBypass;
}

[DllImport("urlmon.dll", CharSet=CharSet.Unicode, SetLastError=true)]
private static extern int UrlMkSetSessionOption(uint dwOption, INTERNET_PROXY_INFO structNewProxy, uint dwLen, uint dwZero);
于 2012-10-06T20:44:41.467 に答える