Как включить прокси для конкретного приложения или изменить глобальный прокси сервер Windows на C#?

Как подключить прокси в Windows на C# с использованием логина и пароля? Мне нужно включить прокси для конкретного приложения или глобально в Windows. У меня есть следующий код на C# и он работает:

[DllImport("wininet.dll")]
public static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int dwBufferLength);
    
public const int INTERNET_OPTION_SETTINGS_CHANGED = 39;
public const int INTERNET_OPTION_REFRESH = 37;
    
static void Main(string[] args)
{
    RegistryKey regKey = Registry.CurrentUser;
    regKey = regKey.CreateSubKey(@"Software\Microsoft\Windows\CurrentVersion\Internet Settings");
    regKey.SetValue("ProxyEnable", 1);
    
    regKey.SetValue("ProxyServer", "172.16.16.30:3128");
    regKey.Close();
    
    InternetSetOption(IntPtr.Zero, INTERNET_OPTION_SETTINGS_CHANGED, IntPtr.Zero, 0);
    InternetSetOption(IntPtr.Zero, INTERNET_OPTION_REFRESH, IntPtr.Zero, 0);
    
    ProcessStartInfo psi = new ProcessStartInfo(Environment.SystemDirectory + @"\netsh.exe", "winhttp import proxy source=ie");
    Process.Start(psi);
    
    Console.ReadKey();
}

Но проблема в том, что таким методом можно подключить прокси только без логина и пароля. В сети я нашла только информацию по подключению только с ID и PORT, читала данные материалы: 1, 2, 3, 4.


Ответы (0 шт):