ظهور رسالة خطأ "ERROR_FILE_NOT_FOUND" عند محاولة استخدام الدالة وينهتبجيتيبروكسيكونفيجفوركورينتوسير

ينطبق على: Windows Internet Explorer

الأعراض


إذا لم يقم الكمبيوتر بتشغيل Microsoft Internet Explorer واستخدام الدالة وينهتبجيتيبروكسيكونفيجفوركورينتوسير في أي برنامج، تتلقى رسالة الخطأ التالية:
ERROR_FILE_NOT_FOUND

السبب


تستخدم الدالة وينهتبجيتيبروكسيكونفيجفوركورينتوسير مفتاح التسجيل الفرعي التالي:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Setting
يتم إنشاء مفتاح التسجيل الفرعي هذا في المرة الأولى التي يتم تشغيل Internet Explorer. إذا كان جهاز الكمبيوتر الخاص بك لم تشغيل Internet Explorer، عدم وجود مفتاح التسجيل الفرعي هذا. عند استدعاء دالة وينهتبجيتيبروكسيكونفيجفوركورينتوسير في برنامج، تبحث الدالة في إدخال التسجيل هذا ولا يمكن العثور عليه، وتتلقى رسالة الإعلام بالخطأ.

الحل


لحل هذه المشكلة، بدء تشغيل Internet Explorer، ثم استخدم الدالة وينهتبجيتيبروكسيكونفيجفوركورينتوسير في أي برنامج.

مزيد من المعلومات


خطوات إعادة إنشاء المشكلة

  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 التالي على الويب:
  10. من القائمة مشروع ، انقر فوق خصائص الاختبار.
  11. في الجزء الأيسر، انقر نقراً مزدوجاً فوق الرابط.
  12. ضمن الرابط، انقر فوق إدخال.
  13. في الجزء الأيسر، اكتب winhttp.lib في الحقل تبعيات إضافية ، ومن ثم انقر فوق موافق.
  14. في بنية القائمة، انقر فوق إنشاء حلول.
  15. اضغط CTRL + F5 لتشغيل البرنامج دون مصحح الأخطاء. تظهر رسالة الخطأ المذكورة في قسم "الأعراض".

المراجع


لمزيد من المعلومات، قم بزيارة موقع Microsoft Developer Network (MSDN)‎ على الويب: