can anyone please help me in declaring WIN32 APIs in C programms
NOT C++ please
can anyone please help me in declaring WIN32 APIs in C programms
NOT C++ please
==================================
السلام عليكم
اخى راشد إستدعاء ال API من لغه السى سهل جداً مثل :
MessageBox (NULL, TEXT ("Hello World"), szAppName, MB_OK);هناك كتاب ممتاذ فى هذا الموضوع يمكنك تحميله من هنا هو كتاب عن برمجه الونذوز باستخدام لغة السى.
الكتاب عن نظام الوندوز 95 وهو قديم, لكنه افضل كتاب شرح برمجة الوندوز حتى الان.
بالتوفيق
والسلام
لا إله إلا الله محمد رسول الله
busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.
تعقيب بسيط ,,
دوال ال API بشكل عام لاستدعاءها يمكن أن نسلك طريقين :
الأول أن نمتلك ملف ال dll فقط وبشكل ما نعرف ماهي الدوال اموجودة في هذا الملف dl ونصرح للدالة باستدعاء زوج دوال LoadLibrary ,, و GetProcAddr ,, ونحصل على الدالة مباشرة ونتعامل بها من ملف dll وبدون مانحتاج لملف lib ولا حتى ال .h
الطريقة الثانية وهي الأسهل والتي تستخدم غالبا ,,
أن نمتلك ملف ال .h ونمتلك ملف ال lib ,, مثلا لاستدعاء دوال ال api الخاصة ببرمجة الشبكات علينا كتابة التالي :
#include <winsock.h> #pragma comment(lib,"wsock32.lib") WSADATA wsa; WsaStartup(0x101,&wsa); وباقي الكود ,,
لاحظ لل pragma comment ,, هذه خاصة بتحميل المكتبة التي بها الدوال وهي ضرورية مع استدعاء ملف ال
#include <winsock.h>
بالنسبة لدالة ال MessageBox في مثال أحمد غريب فقط سنحتاج لل Headre File التالي :
#include <windows.h> في حال كتبت برنامج console ولن تحتاج اليها في حال كتابة برنامج لل MFC أو ال win32 ,, حيث هي مضافة في الأصل في النوعين الأخرين ,, ولن تحتاج للمكتبة لأن المكتبة lib التي يها الدالة MessageBox هي المكتبة user32.lib وموجودة ضمن أي برنامج by default ,, لذا لن تحتاج لتضمينها في برنامج يستدعي ال MEssageBox فقط ,, لكن ستحتاج لتضمينها في دوال أعقد تحتاج مكتبات أخرى ك winsock و winmm و D3D.lib و netAPI.lib و iphlpapi.lib وغيرها الكثير جدا ,, وحتى أي مكتبة من طرف شركة ثالثة ,,
thank you for your replies but this is not what i wanted
i think those examples work only with visual c++ i want to use APIs with a normal C compiler
==================================
helo , well ur question depends on what os u want to program for , from ur question i undrestood that u want the most of the api functions for a specific os i dont know about *nix but ur obviously using windows so try this its a little old (1999-2000) if someone can find a newer one please tell me
السلام عليكم
اخى راشد المثال الذى دكرته والذى عقب عليه الاخ هيثم ليس من السى++ بل هو سى اليك هذا المثال البسيط بلغه السى
#include <windows.h>
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,
PSTR szCmdLine, int iCmdShow)
{
MessageBox (NULL, TEXT ("Hello, Windows I am C NOT C++"), TEXT ("HelloMsg"), 0);
return 0;
}ارجو ان يفيدك هذا ابسط مثال لكتابة رساله بلغة السى فى نافذة وندوز.
والسلام
لا إله إلا الله محمد رسول الله
busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.
thank you for the examples they really helped me
i will compile them and see if they work
==================================
هذا الموضوع مغلق.