Primiți un mesaj de eroare "ERROR_FILE_NOT_FOUND" atunci când încercați să utilizați funcția WinHttpGetIEProxyConfigForCurrentUser

Simptome

În cazul în care computerul nu a alerga Microsoft Internet Explorer și utilizați funcția WinHttpGetIEProxyConfigForCurrentUser din orice program, primiți următorul mesaj de eroare:

ERROR_FILE_NOT_FOUND

Cauză

Funcția WinHttpGetIEProxyConfigForCurrentUser utilizează următoarea subcheie de registry:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet SettingsAceastă subcheie de registry este creat pentru prima dată când se execută Internet Explorer. Dacă computerul nu are Internet Explorer, această subcheie registry nu există. Atunci când apelați funcția WinHttpGetIEProxyConfigForCurrentUser într-un program, în funcție de căutări pentru această intrare de registry și nu poate găsi și primiți mesajul de eroare.

Rezolvare

Pentru a rezolva această problemă, porniți Internet Explorer și apoi utilizați funcția WinHttpGetIEProxyConfigForCurrentUser în orice program.

Mai multe informații

Pași pentru reconstituirea problemei

  1. Faceți Log on pe un computer în cazul în care Internet Explorer nu s-a utilizat.

  2. Porniți Microsoft Visual Studio .NET.

  3. În meniul fișier , indicați spre nouși apoi faceți clic pe proiect.

  4. Sub Project Types, faceți clic pe Proiecte Visual C++.

  5. Sub șabloane, faceți clic pe Win32 Project.

  6. În caseta nume , tastați Test, și apoi faceți clic pe OK.

  7. Pe pagina bun venit la Expertul Win32 Application , faceți clic pe Setări aplicație.

  8. Sub tipul aplicației, aplicaţie consolă, și apoi faceți clic pe Terminare. Se creează fișierul Test.cpp.

  9. Înlocuiți codul existent în fișierul Test.cpp cu următorul cod:

    #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

    Notă Fișierul Winhttp.h și fișierul Winhttp.lib sunt incluse în la platforma Microsoft software development kit (SDK). Pentru a descărca Platform SDK, vizitați următorul site Web Microsoft:

  10. În meniul de proiect , faceți clic pe Proprietăți de testare.

  11. În panoul din stânga, faceți dublu clic pe Linker.

  12. Sub Linker, faceți clic pe intrare.

  13. În panoul din dreapta, tastați winhttp.lib în câmpul Dependențele suplimentare și apoi faceți clic pe OK.

  14. În meniul de compilare , faceți clic pe Compilare soluții.

  15. Apăsați CTRL + F5 pentru a executa programul fără depanatorul. Primiți mesajul de eroare menționat în secțiunea "simptome".

Referințe

Pentru mai multe informații, vizitați următorul site Web Microsoft Developer Network (MSDN):

Aveți nevoie de ajutor suplimentar?

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă la Microsoft Insider

V-a fost de ajutor această informație?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×