Applies ToInternet Explorer

תופעות

אם המחשב שלך מעולם לא הופעל 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. בתיבה שם , הקלד הבדיקהולאחר מכן לחץ על אישור.

  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 נכללים ערכת פיתוח התוכנה (SDK) של פלטפורמת Microsoft. כדי להוריד את ה-Platform SDK, בקר באתר האינטרנט הבא של Microsoft:

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

  10. בתפריט פרוייקט , לחץ על מאפייני הבדיקה.

  11. בחלונית הימנית, לחץ פעמיים על מקשר.

  12. תחת מקשר (linker), לחץ על הקלט.

  13. בחלונית השמאלית, הקלד winhttp.lib בשדה יחסי תלות נוספים ולאחר מכן לחץ על אישור.

  14. בניית התפריט, לחץ על בניית פתרון.

  15. הקש CTRL + F5 כדי להפעיל את התוכנית ללא מאתר הבאגים. מתקבלת הודעת השגיאה המוזכרת בסעיף "מאפייני הבעיה".

הפניות

לקבלת מידע נוסף, בקר באתר האינטרנט הבא של Microsoft מפתח רשת (MSDN):

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

זקוק לעזרה נוספת?

מעוניין באפשרויות נוספות?

גלה את יתרונות המנוי, עיין בקורסי הדרכה, למד כיצד לאבטח את המכשיר שלך ועוד.

קהילות עוזרות לך לשאול שאלות ולהשיב עליהן, לתת משוב ולשמוע ממומחים בעלי ידע עשיר.