Как настроить IE прокси с помощью InternetSetOption, когда IE запускается как отдельный процесс - PullRequest
0 голосов
/ 19 сентября 2018

Существуют решения, которые показывают, как использовать InternetSetOption с C #, Python или VB.Моя проблема в том, что я не использую IE в качестве элемента управления веб-браузера в C #.InternetSetOption необходимо запустить в процессе, в котором необходимо установить прокси-сервер, поэтому мне нужно установить прокси в IE после запуска его из моей программы на C #.(Это часто, поэтому я не могу установить прокси в реестре)

Чтобы запустить InternetSetOption в процессе запуска IE, я могу загрузить файл / выполнить JavaScript для установки прокси.Я видел этот код в другом ответе ( IE Включить / отключить настройки прокси через реестр ), но я не понимаю, как установить прокси-IP и порт.

function Refresh-System
{
  $signature = @'
[DllImport("wininet.dll", SetLastError = true, CharSet=CharSet.Auto)]
public static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int dwBufferLength);
'@

$INTERNET_OPTION_SETTINGS_CHANGED   = 39
$INTERNET_OPTION_REFRESH            = 37
$type = Add-Type -MemberDefinition $signature -Name wininet -Namespace pinvoke -PassThru
$a = $type::InternetSetOption(0, $INTERNET_OPTION_SETTINGS_CHANGED, 0, 0)
$b = $type::InternetSetOption(0, $INTERNET_OPTION_REFRESH, 0, 0)
return $a -and $b
}

Я искал изначальнодля небольшого файла HTML / JavaScript, который может установить прокси с InternetSetOption, когда я перехожу к нему в браузере, но я согласен с TJ Crowder - возможно, это не тот способ.

Любой другой способ тоже подойдет- Мне просто нужно выполнить код InternetSetOption в процессе IE после его запуска на моей машине с помощью: Process.Start ("IEXPLORE.EXE", "-nomerge" + sUrl);

...