Belirtiler

Bilgisayarınızda Microsoft Internet Explorer çalıştırılmadı ve herhangi bir programda WinHttpGetIEProxyConfigForCurrentUser işlevi kullanırsanız, aşağıdaki hata iletisini alırsınız:

ERROR_FILE_NOT_FOUND

Neden

WinHttpGetIEProxyConfigForCurrentUser işlevi, aşağıdaki kayıt defteri alt anahtarını kullanır:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet SettingsBu kayıt defteri alt anahtarını Internet Explorer çalıştıran ilk kez oluşturulur. Bilgisayarınızda Internet Explorer çalıştırılmamışsa, bu kayıt defteri alt anahtarı yok. Ne zaman bir programda, bu kayıt defteri girdisi işlevi arar WinHttpGetIEProxyConfigForCurrentUser işlevini çağırın ve onu bulamıyor ve hata iletisini alırsınız.

Çözüm

Bu sorunu gidermek için Internet Explorer'ı başlatın ve sonra herhangi bir programda WinHttpGetIEProxyConfigForCurrentUser işlevini kullanın.

Ek Bilgi

Sorunu yeniden oluşturma adımları

  1. Burada Internet Explorer hiç kullanılmamış bir bilgisayarda oturum açın.

  2. Microsoft Visual Studio .NET'i başlatın.

  3. Dosya menüsünde Yeni' nin üzerine ve sonra Proje'yitıklatın.

  4. Visual C++ projeleri Project Types' ı tıklatın.

  5. Win32 Proje Şablonlar' ı tıklatın.

  6. Ad kutusuna Testyazın ve Tamam' ı tıklatın.

  7. Win32 Uygulama Sihirbazı'na Hoş Geldiniz sayfasında, Uygulama ayarları' nı tıklatın.

  8. Uygulama türü' nün altında Konsol uygulama' yı tıklatın ve sonra Son' u tıklatın. Test.cpp dosyası oluşturulur.

  9. Test.cpp dosyasındaki varolan kodu aşağıdaki kodla değiştirin:

    #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: Winhttp.h ve Winhttp.lib dosyalarını Microsoft Platformu Yazılım Geliştirme Seti (SDK) dahil edilir. Platform SDK'yı karşıdan yüklemek için aşağıdaki Microsoft Web sitesini ziyaret edin:

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

  10. Proje menüsünde, Test özellikler' i tıklatın.

  11. Sol bölmede, Bağlayıcıçift tıklatın.

  12. Bağlayıcıaltında Giriş' i tıklatın.

  13. Sağ bölmede Ek bağımlılıklar alanına winhttp.lib yazın ve Tamam' ı tıklatın.

  14. Derle menüsünde, Çözümü derle'yi tıklatın.

  15. Hata Ayıklayıcı olmadan programı çalıştırmak için CTRL + F5 tuşlarına basın. "Belirtiler" bölümünde açıklanan hata iletisini alırsınız.

Başvurular

Daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:

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

Daha fazla yardıma mı ihtiyacınız var?

Yeteneklerinizi geliştirin

Eğitimleri keşfedin >

Yeni özellikleri ilk olarak siz edinin

Microsoft Insider’a katılın >

Bu bilgi yararlı oldu mu?

Dil kalitesinden ne kadar memnunsunuz?
Deneyiminizi ne etkiledi?

Geri bildiriminiz için teşekkürler!

×