Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

Симптоми

Ако компютърът не е стартиран Microsoft Internet Explorer и използвате функцията WinHttpGetIEProxyConfigForCurrentUser във всяка програма, ще получите следното съобщение за грешка:

ERROR_FILE_NOT_FOUND

Причина

WinHttpGetIEProxyConfigForCurrentUser използва следния подключ на системния регистър:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet настройкиТози подключ на системния регистър се създава при първото Internet Explorer се изпълнява. Ако компютърът се стартира Internet Explorer, този подключ на системния регистър не съществува. Когато се обадите WinHttpGetIEProxyConfigForCurrentUser функция в програмата, функцията Търсене за този запис в системния регистър и не може да го намерите и получавате съобщение за грешка.

Решение

За да разрешите този проблем, Стартирайте Internet Explorer и след това използвайте функцията WinHttpGetIEProxyConfigForCurrentUser във всяка програма.

Повече информация

Стъпки за възпроизвеждане на проблема

  1. Влезте в компютъра, при който Internet Explorer не е бил използван.

  2. Стартирайте Microsoft Visual Studio .NET.

  3. В менюто файл посочете Създайи щракнете върху проекта.

  4. Под Типове проектищракнете върху Visual C++ проекти.

  5. Под шаблонищракнете върху Проект на Win32.

  6. В полето за име въведете тести след това щракнете върху OK.

  7. Добре дошли в съветника за Win32 приложение страницата щракнете върху Настройки на приложението.

  8. Под тип приложениевърху конзолатаи щракнете върху Готово. Test.cpp файл е създаден.

  9. Замени съществуващ код в Test.cpp файл със следния код:

    #include "stdafx.h"#include <Windows.h>#include <Winhttp.h>using namespace std;void main(){WINHTTP_CURRENT_USER_IE_PROXY_CONFIG MyProxyConfig;if(!WinHttpGetIEProxyConfigForCurrentUser(&MyProxyConfig)){//check the errorDWORD Err = GetLastError();cout << "WinHttpGetIEProxyConfigForCurrentUser failed with the following error number: " << Err << endl;switch (Err){case ERROR_FILE_NOT_FOUND:cout << "The error is ERROR_FILE_NOT_FOUND" << endl;break;case ERROR_WINHTTP_INTERNAL_ERROR:cout << "ERROR_WINHTTP_INTERNAL_ERROR" << endl;break;case ERROR_NOT_ENOUGH_MEMORY:cout << "ERROR_NOT_ENOUGH_MEMORY" << endl;break;default:cout << "Look up error in header file." << endl; }//end switch}//end ifelse{//no error so check the proxy settings and free any stringscout << "Auto Detect is: " << MyProxyConfig.fAutoDetect << endl;if(NULL != MyProxyConfig.lpszAutoConfigUrl){wcout << "AutoConfigURL is: " << MyProxyConfig.lpszAutoConfigUrl << endl;GlobalFree(MyProxyConfig.lpszAutoConfigUrl);}if(NULL != MyProxyConfig.lpszProxy){wcout << "AutoConfigURL is: " << MyProxyConfig.lpszProxy << endl;GlobalFree(MyProxyConfig.lpszProxy);}if(NULL != MyProxyConfig.lpszProxyBypass){wcout << "AutoConfigURL is: " << MyProxyConfig.lpszProxyBypass << endl;GlobalFree(MyProxyConfig.lpszProxyBypass);}}//end elsecout << "finished!";}//end main

    Забележка: Winhttp.h файла и файла Winhttp.lib са включени в Microsoft платформа Софтуерен развоен пакет (SDK). За да изтеглите Platform SDK, посетете следния уеб сайт на Microsoft:

  10. В менюто на проекта щракнете върху Тест свойства.

  11. В левия екран щракнете двукратно върху Свързване.

  12. При Свързванещракнете върху вход.

  13. В десния екран въведете winhttp.lib в полето Допълнителни зависимости и след това щракнете върху OK.

  14. Изграждане на менюто щракнете върху Изграждане на решение.

  15. Натиснете CTRL + F5, за да стартирате програмата, без дебъгера. Получавате съобщение за грешка, упоменато в раздела "Симптоми".

Препратки

За повече информация посетете следния уеб сайт на Microsoft Developer Network (MSDN):

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×