Windows.h

<Windows.h>هو ملف رأس شفرة مصدرية توفره مايكروسوفت لتطوير البرامج التي تصل إلى واجهة برمجة تطبيقات ويندوز (WinAPI) عبر لغة C. وهو يُعلن عن وظائف WinAPI وأنواع البيانات المرتبطة بها ووحدات الماكرو الشائعة.

يمكن تفعيل الوصول إلى WinAPI لبرنامج مكتوب بلغة C أو C++ عن طريق تضمينه في ملف المصدر:

// في لغة C: #include <Windows.h>// في لغة C++: استيراد < Windows . h > ;

كذلك، يجب ربط الملف التنفيذي بكل مكتبة ثابتة تحتوي إما على رمز الدالة أو، وهو الأكثر شيوعًا ، على مكتبة ربط ديناميكي لوقت التشغيل (DLL) خاصة بالنظام. عمومًا، بالنسبة للدوال الموجودة في مكتبة DLL تحمل اسمًا مثل Abc.dll ، يجب ربط البرنامج بمكتبة تحمل اسمًا مثل Abc.lib . أما في MinGW ، فيكون اسم المكتبة مثل libAbc.dll.a .

ملفات الرأس المضمنة

يؤدي تضمين ملف Windows.h إلى تضمين العديد من ملفات الرأس الأخرى التي يتم تضمينها بشكل مباشر أو غير مباشر بواسطة Windows.h . ولا يمكن تضمين العديد من هذه الملفات بشكل منفرد بسبب التبعيات بينها.

ملفات الرأس المضمنة البارزة:

المعيار ج

اسموصف
<ctype.h>تصنيف الشخصيات
<stdarg.h>دعم الدوال ذات الوسائط المتغيرة
<string.h>معالجة السلاسل والمخازن المؤقتة

أساسي

اسموصف
<basetsd.h>أنواع مختلفة [ 1 ]
<guiddef.h>المعرف الفريد العالمي [ 2 ]
<imm.h>محرر أساليب الإدخال (IME)
<winbase.h>kernel32.dll : خدمات النواة؛ advapi32.dll: خدمات النواة (مثل CreateProcessAsUser()الوظيفة)، التحكم في الوصول (مثل AdjustTokenGroups()الوظيفة).
<wincon.h>خدمات وحدة التحكم
<windef.h>وحدات ماكرو وأنواع مختلفة
<winerror.h>رموز الخطأ [ 3 ]
<wingdi.h>واجهة جهاز الرسومات (GDI) [ 4 ]
<winnetwk.h>شبكات ويندوز (WNet) [ 5 ]
<winnls.h>دعم اللغة الأم (NLS)
<winnt.h>وحدات ماكرو وأنواع مختلفة (لنظام التشغيل Windows NT ) [ 6 ]
<winreg.h>سجل ويندوز [ 7 ]
<winsvc.h>خدمات ويندوز ومدير التحكم بالخدمات (SCM)
<winuser.h>استدعاءات لملف user32.dll لخدمات المستخدم، ووحدات الماكرو المضمنة للموارد (مثل الماكرو [ 8 ] )، ووحدات الماكرو المضمنة للحوار (مثل دالة DialogBox [ 9 ] ). [ 10 ]MAKEINTRESOURCE
<winver.h>معلومات الإصدار [ 11 ]

إضافي

اسموصف
<cderr.h>CommDlgExtendedErrorرموز أخطاء الوظائف
<commldg.h>مربعات الحوار الشائعة
<dde.h>DDE (تبادل البيانات الديناميكي)
<ddeml.h>مكتبة إدارة DDE
<dlgs.h>ثوابت متنوعة لمربعات الحوار الشائعة
<lzexpand.h>ضغط / إزالة الضغط LZ (Lempel-Ziv).
<mmsystem.h>ويندوز مالتي ميديا
<nb30.h>نت بيوس
<rpc.h>RPC (استدعاء الإجراء عن بعد)
<shellapi.h>واجهة برمجة تطبيقات Windows Shell
<wincrypt.h>واجهة برمجة تطبيقات التشفير
<winperf.h>مراقبة الأداء
<winresrc.h>مستخدمة في الموارد
<winsock.h>Winsock (Windows Sockets)، الإصدار 1.1
<winspool.h>خدمة إدارة الطباعة
<winbgim.h>مكتبة الرسومات القياسية

أولي وكوم

اسموصف
<ole2.h>OLE (ربط الكائنات وتضمينها)
<objbase.h>نموذج كائن المكون ( COM )
<oleauto.h>أتمتة OLE
<oletlid.h>تعريفات GUID المختلفة

وحدات الماكرو

تؤثر العديد من وحدات الماكرو على التعريفات التي تم إنشاؤها <windows.h>والملفات التي تتضمنها.

  • UNICODEعند تعريف هذا الخيار، يصبح نوع بيانات النص العام TCHARمرادفًا لـ WCHAR بدلًا من CHAR ، [ 1 ] وتُعرَّف جميع وظائف ورسائل واجهة برمجة التطبيقات العامة التي تعمل مع النصوص وفقًا للإصدارات -W بدلًا من الإصدارات -A. وهو مشابه لماكرو وقت تشغيل لغة C في نظام ويندوز ._UNICODE
  • RC_INVOKEDيتم تحديده عندما يكون مترجم الموارد ( RC.EXE ) قيد الاستخدام بدلاً من مترجم لغة C.
  • WINVERيُستخدم هذا الخيار لتمكين الميزات المتوفرة فقط في أنظمة التشغيل الأحدث. حدده 0x0501لنظام التشغيل Windows XP ، ولنظام 0x0600التشغيل Windows Vista .
  • WIN32_LEAN_AND_MEANيُستخدم لتقليل حجم ملفات الرأس وتسريع عملية التجميع. ويستثني ذلك أشياءً مثل التشفير ، و DDE ، وRPC ، و Windows Shell ، و Winsock .

لغات أخرى

تعتزم مايكروسوفت تحديث واجهة برمجة تطبيقات ويندوز (Windows API) لتتوافق مع لغة C++ الحديثة من خلال مشروعها win32metadata. [ 12 ] يتوفر حاليًا C++/WinRT ومكتبة تنفيذ ويندوز (WIL) لهذا الغرض في لغة C++ الحديثة. كما طورت مايكروسوفت روابط برمجية للغات أخرى، بما في ذلك C# و Rust، لاستدعاء واجهة برمجة تطبيقات Win32. [ 13 ]

انظر أيضاً

مراجع

  1. 1 2 "أنواع بيانات ويندوز" . learn.microsoft.com. 7 نوفمبر 2024.
  2. "guiddef.h header" . learn.microsoft.com. 23 يناير 2023.
  3. "winerror.h header" . learn.microsoft.com. 23 يناير 2023.
  4. "wingdi.h header" . learn.microsoft.com. 23 يناير 2023.
  5. "winnetwk.h header" . learn.microsoft.com. 23 يناير 2023.
  6. "رأس winnt.h" . Learn.microsoft.com. 23 يناير 2023.
  7. "winreg.h header" . learn.microsoft.com. 23 يناير 2023.
  8. "MAKEINTRESOURCEA macro (winuser.h)" . learn.microsoft.com. 19 نوفمبر 2024.
  9. "DialogBoxA macro (winuser.h)" . learn.microsoft.com. 22 فبراير 2024.
  10. "winuser.h header" . learn.microsoft.com. 23 يناير 2023.
  11. "winver.h header" . learn.microsoft.com. 23 يناير 2023.
  12. "جعل واجهات برمجة تطبيقات Win32 أكثر سهولة في الوصول إليها من قبل المزيد من اللغات" . blogs.windows.com. 21 يناير 2021.
  13. "win32metadata" . تم الاطلاع عليه بتاريخ 4 سبتمبر 2025 .