Какой рекомендуемый способ получить winhttp.h? - PullRequest
10 голосов
/ 15 апреля 2009

Наше приложение использует libcurl для HTTP, и мы хотим получить доступ к настройкам прокси в Internet Explorer. Более ранний вопрос переполнения стека рекомендует использовать WinHttpGetIEProxyConfigForCurrentUser и WinHttpGetProxyForUrl.

К сожалению, заголовок winhttp.h, по-видимому, не включен в наши копии ни Visual C ++ 2005, ни Visual Studio 2008. Очевидно, возможно загрузить обновленный SDK платформы и установить его в Visual C ++ 2005 , но это довольно болезненный процесс, и он не обязательно работает с более новыми версиями Visual Studio.

Есть ли хороший, хорошо поддерживаемый способ доступа к API WinHTTP 5.1 из C ++? Или мы должны избегать использования этих API?

Ответы [ 3 ]

15 голосов
/ 15 апреля 2009

Лучший поддерживаемый способ доступа к API WinHTTP 5.1 из C ++ - через Windows SDK (новое имя для Platform SDK) и с помощью тех API, которые вы упомянули.

Статья, на которую вы ссылаетесь, предполагает, что установка SDK является сложной задачей - хорошая новость - это старая статья 2006 года, и в наши дни все намного проще. Просто сделайте следующее:

  1. Загрузите последний ISO-образ SDK с здесь - не беспокойтесь о том, что он называется «SDK для Windows Server 2008», он также подходит для Server 2003, XP и Vista.
  2. Запись на DVD
  3. Запустите файл setup.exe на DVD, выберите полную установку и дайте ему поработать в течение 1/2 часа.
  4. После установки выберите Пуск -> Программы -> Microsoft Windows SDK -> Регистрация Visual Studio -> Интеграция Windows SDK с Visual Studio 2005

Вам даже может быть предложено запустить инструмент интеграции во время установки - с тех пор, как я его установил, прошло много времени, поэтому я не могу вспомнить точно.

Компилятор Visual C ++ сможет найти winhttp.h и winhttp.lib в соответствующих папках.

Обновление Как обычно, все не так просто, как должно быть. EMK отмечает, что средство настройки Windows SDK не работает должным образом с Visual Studio 2008 (любая версия) и вылетает после установки Visual Studio 2008 SP1. Подробности и обходные пути представлены здесь и здесь .

6 голосов
/ 14 апреля 2010

Если кто-то сталкивается с этим сообщением и интересуется минимальными компонентами, которые можно установить для получения winhttp, установка Microsoft Windows Core SDK> Среда сборки> Среда сборки (32-разрядная версия x86) мне подействовала.

2 голосов
/ 16 апреля 2009

Вам абсолютно не нужен весь SDK Просто загрузите нужную часть, см. MSDN для выбора.

...