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 في نظام ويندوز ._UNICODERC_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 2 "أنواع بيانات ويندوز" . learn.microsoft.com. 7 نوفمبر 2024.
- ↑ "guiddef.h header" . learn.microsoft.com. 23 يناير 2023.
- ↑ "winerror.h header" . learn.microsoft.com. 23 يناير 2023.
- ↑ "wingdi.h header" . learn.microsoft.com. 23 يناير 2023.
- ↑ "winnetwk.h header" . learn.microsoft.com. 23 يناير 2023.
- ↑ "رأس winnt.h" . Learn.microsoft.com. 23 يناير 2023.
- ↑ "winreg.h header" . learn.microsoft.com. 23 يناير 2023.
- ↑ "MAKEINTRESOURCEA macro (winuser.h)" . learn.microsoft.com. 19 نوفمبر 2024.
- ↑ "DialogBoxA macro (winuser.h)" . learn.microsoft.com. 22 فبراير 2024.
- ↑ "winuser.h header" . learn.microsoft.com. 23 يناير 2023.
- ↑ "winver.h header" . learn.microsoft.com. 23 يناير 2023.
- ↑ "جعل واجهات برمجة تطبيقات Win32 أكثر سهولة في الوصول إليها من قبل المزيد من اللغات" . blogs.windows.com. 21 يناير 2021.
- ↑ "win32metadata" . تم الاطلاع عليه بتاريخ 4 سبتمبر 2025 .
- رؤوس لغة البرمجة C
- مكتبات لغة البرمجة C
- واجهات برمجة تطبيقات مايكروسوفت
- واجهات برمجة تطبيقات ويندوز
- أدوات البرمجة لنظام التشغيل ويندوز
