Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

Symptomy

Jeśli komputer nie ma uruchomić program Microsoft Internet Explorer i użyć funkcji WinHttpGetIEProxyConfigForCurrentUser w dowolnym programie, pojawi się następujący komunikat o błędzie:

ERROR_FILE_NOT_FOUND

Przyczyna

Funkcja WinHttpGetIEProxyConfigForCurrentUser używa następującego podklucza rejestru:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet SettingsTen podklucz rejestru jest tworzony program Internet Explorer jest uruchamiany po raz pierwszy. Jeśli komputer nie został uruchomiony program Internet Explorer, ten podklucz rejestru nie istnieje. Kiedy wywołanie funkcji WinHttpGetIEProxyConfigForCurrentUser w programie, funkcja przeszukuje ten wpis rejestru i nie można go znaleźć, a komunikat o błędzie.

Rozwiązanie

Aby rozwiązać ten problem, uruchom program Internet Explorer, a następnie użyć funkcji WinHttpGetIEProxyConfigForCurrentUser w dowolnym programie.

Więcej informacji

Kroki prowadzące do odtworzenia problemu

  1. Zaloguj się do komputera, na którym nigdy nie był używany program Internet Explorer.

  2. Uruchom program Microsoft Visual Studio .NET.

  3. W menu plik wskaż polecenie Nowy, a następnie kliknij Projekt.

  4. W obszarze Project Typeskliknij Projektów Visual C++.

  5. W obszarze Szablonykliknij Projekt systemu Win32.

  6. W polu Nazwa wpisz Test, a następnie kliknij przycisk OK.

  7. Na stronie Zapraszamy do Kreatora aplikacji Win32 kliknij przycisk Ustawienia aplikacji.

  8. W obszarze Typ aplikacjikliknij aplikacji konsoli, a następnie kliknij przycisk Zakończ. Tworzony jest plik Test.cpp.

  9. Zastąpić istniejący kod w pliku Test.cpp z następującego 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

    Uwaga Plik Winhttp.h i plik Winhttp.lib znajdują się w zestawie Microsoft Platform software development kit (SDK). Aby pobrać zestaw SDK platformy, odwiedź następującą witrynę firmy Microsoft w sieci Web:

    http://www.microsoft.com/msdownload/platformsdk/sdkupdate/

  10. W menu Projekt kliknij polecenie Właściwości testu.

  11. W lewym okienku kliknij dwukrotnie program łączący.

  12. W obszarze Linkerkliknij dane wejściowe.

  13. W prawym okienku wpisz winhttp.lib w polu Dodatkowe zależności , a następnie kliknij przycisk OK.

  14. W menu Kompilacja kliknij polecenie Skompiluj rozwiązanie.

  15. Naciśnij kombinację klawiszy CTRL + F5, aby uruchomić program bez debugera. Zostanie wyświetlony komunikat o błędzie wymieniony w sekcji "Symptomy".

Informacje

Aby uzyskać więcej informacji, odwiedź następującą witrynę usługi MSDN (Microsoft Developer Network) w sieci Web:

http://msdn2.microsoft.com/en-us/library/aa384096.aspx

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×