Tiek parādīts kļūdas ziņojums "ERROR_FILE_NOT_FOUND", mēģinot izmantot funkciju WinHttpGetIEProxyConfigForCurrentUser

Simptomi

Ja dators nekad palaist Microsoft Internet Explorer un funkciju WinHttpGetIEProxyConfigForCurrentUser jebkurā programmā, tiek parādīts šāds kļūdas ziņojums:

ERROR_FILE_NOT_FOUND

Cēlonis

WinHttpGetIEProxyConfigForCurrentUser funkcija izmanto šādu reģistra apakšatslēgu:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet SettingsReģistra apakšatslēgas tiek izveidota, pirmoreiz tiek palaista programma Internet Explorer. Ja datoru nevar palaist Internet Explorer, šajā reģistra apakšatslēgā nepastāv. Kad zvanu funkciju WinHttpGetIEProxyConfigForCurrentUser programmā šo reģistra ierakstu meklē un nevar atrast, un tiek parādīts kļūdas ziņojums.

Risinājums

Lai novērstu šo problēmu, startējiet programmu Internet Explorer un pēc tam izmantojiet funkciju WinHttpGetIEProxyConfigForCurrentUser jebkurā programmā.

Papildinformācija

Problēmas atveidošanas darbības

  1. Piesakieties datorā, kurā nekad netiek lietota Internet Explorer.

  2. Startējiet Microsoft Visual Studio .NET.

  3. Izvēlnē Fails norādiet uz izveidot jaunuun pēc tam noklikšķiniet uz projektu.

  4. Noklikšķiniet uz Visual C++ projektisadaļā Projektu tipi.

  5. Sadaļā veidnesnoklikšķiniet uz Win32 projektu.

  6. Nosaukuma lodziņā ierakstiet pārbaudesun pēc tam noklikšķiniet uz Labi.

  7. Iepazīšanās Win32 Application vedņa lapā noklikšķiniet uz Lietojumprogrammas iestatījumus.

  8. Lietojumprogrammas tips, noklikšķiniet uz konsoles lietojumprogrammuun pēc tam noklikšķiniet uz pabeigt. Test.cpp fails ir izveidots.

  9. Aizstāt esošo failu Test.cpp kods ar šādu kodu:

    #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

    Piezīme. Winhttp.h failu un Winhttp.lib fails ir iekļauti Microsoft platformu programmatūras izstrādes komplekts (SDK). Lai lejupielādētu platformas SDK, apmeklējiet šo Microsoft Web vietu:

  10. Projekta izvēlnē noklikšķiniet uz Rekvizīti pārbaudes.

  11. Kreisajā rūtī veiciet dubultklikšķi uz Linker.

  12. Saskaņā ar Linker, noklikšķiniet uz ievades.

  13. Labajā rūtī veiciet Papildu atkarības laukā ierakstiet winhttp.lib un pēc tam noklikšķiniet uz Labi.

  14. Veidot izvēlnē noklikšķiniet uz Izveidot risinājumu.

  15. Nospiediet CTRL + F5, lai palaistu programmu, neizmantojot atkļūdotāju. Tiek saņemts kļūdas ziņojums, kas ir minēti sadaļā "Simptomi".

Atsauces

Lai iegūtu papildinformāciju, apmeklējiet šo Microsoft izstrādātāju tīkla (MSDN) vietni:

Vai nepieciešama papildu palīdzība?

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Microsoft Insider

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka jums varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta speciālistiem.

×