السلام عليكم ورحمة الله وبركاته.....
إذا كان لدي dll file وأرغب في معرفة الـfunctions التي يحويها ذلك الملف لأستخدمها في الـ++VC ، فكيف لي ذلك؟
أرجو الرد بأقرب وقت وجزاكم الله خيراً
السلام عليكم ورحمة الله وبركاته.....
إذا كان لدي dll file وأرغب في معرفة الـfunctions التي يحويها ذلك الملف لأستخدمها في الـ++VC ، فكيف لي ذلك؟
أرجو الرد بأقرب وقت وجزاكم الله خيراً
السلام عليكم
هناك برامج خاصة لعرض DLL export functions منها PEExplorer ,TDebug,....وغيرها الكثير
والكود الخاص بعمل ذلك كنت قد كتبت عنه في قسم الدلفي وستجد مثيل له بلغه السي وان كنت تريد الكود بالسي ممكن اكتبه هنا .
http://www.arabteam2000.com/vb/showthread....p?threadid=8291
تلك البرامج تقوم بعرض اسماء الدوال فقط . ان كنت تريد استخدام الدوال لابد من وجود معلومات عنها من كاتبها , فان كانت ملفات DLL تابعه للنظام راجع ما تعطيه MS من ملفات Help , اما ان كانت غير ذلك فعليك بقراءة المعلومات التي اتاحها كاتب ملف DLL .
(f)
CIONO1
هناك حتى الأحلام أصبحت ممنوعة ...
إنه لعار أن ننتمي لهكذا أوطان ... لكن ... ربما العار أن نكون نحن أبناء لتلكم أوطان .. من يدري ؟!!
ليعلم أولئك ... إنّ الشعوب إنْ هي استيقظت تسحق ظُلامََهَا ...
There, even in dreams u r wanted
To be a programmer, how a nice dream it was
Leaving ...
أعيدوا لإسمي لونه المفضل
ولكن أخ هاني سمعت بوجود tools تمكن من تحويل الـdll file إلى h or .cpp files. فكيف يكون ذلك إن كان ملف الـdll لا يحوي معلومات عن الـparameters or return values ؟
فإن كنت أرغب في استخدام dll file بالفيجوال سي فكيف لي ذلك دون معرفة الدوال داخل الملف وكيفية استخدامها.
ولك جزيل الشكر
لم أسمع بهذه الأداة من قبل .. حتى أن الأدوات التي تقوم بتجويل ملفات الexe إلى سي التي اتطلعت عليها لا تقوم بذلك ؛ فهي فقط تقوم بمعرفة أسماء التوابع عن طريق تتبع العبارة call في برنامجك ..
المهم من أجل معرفة التوابع في العادة تكون مع المكتبة dll التي تريد استخدامها ملف lib و h .. الملف h يحتوي على التوابع مع بارامتراتها وكل شئ آحر تحتاجه من أجل استخدام المكتبة ، أما ال lib فهو من أجل تسهيل عملية استدعاء التوابع في المكتبة .. فهي تحتوي على كود بسيط من أجل كل تابع يقوم بتحويل الاستدعاء إلى المكتبة dll ..
إذا لم تكن موجودة الملفات h أو lib وأنت متأكد تماما من بارامترات تابع معين فتستطيع استدعائه عن طريق تحميل المحتبة أولا باستخدام LoadLibrary ومن ثم معرفة عنوان التابع عن طريق GetProcAddress ومن ثم استدعائه كما تستدعي أي تابع عادي في السي ...
Coding on the Cloud and for the Cloud!
هذا الموضوع مغلق.