الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف أعمل ملف Dll يقوم بأمر معين ومن ثم حذفه بدون غلق البرنامج

بدأه M.555 في 3 يوليو 2008 · 12 رد · 1,084 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أخواني أثابكم الله

كيف أعمل ملف DLL يتلقى أمر من برنامجي ومن ثم أستطيع حذفه بدون إغلاق البرنامج

لأني عملت عدة ملفات DLL ولكني لم أستطع حذفه رغم أني لم أضيفه في References ولكنه يضل مربوط بالبرنامج

فما الحل بارك الله فيكم ويسر أموركم

#2

السلام عليكم

اذا لم تستطع حذفه فالظاهر انه مستخدم من قبل البرنامج لذا عليك بعد استخدامه مباشرة اطلاق سراحه

وهذا يعتمد على الطريقة التي تستخدمها

تم تعديل هذه المشاركة بواسطة TareqVB في 4 يوليو 2008 في 11:36 — السبب: صراحه = سراحه

#3

أخي TareqVB بارك الله فيك

ولكن لم أفهمك كيف أقوم بأطلاق صراحة هل يوجد كود معين ينهي الDLL

ياليت توضح أثابك الله وغفر لك

#4

1- استخدم الدالة GetModuleHandle لارجاع مقبض لملف الـDLL .

2- قم بتحرير الـDLL عن طريق الدالة FreeLibrary مستخدما المقبض السابق .

[color= #800000;]Private [color= #800000;]Declare [color= #800000;]Function GetModuleHandle Lib [color= #ff0000;]"kernel32.dll" Alias [color= #ff0000;]"GetModuleHandleA" [color= #66cc66;]( _ 

	 ByVal lpModuleName [color= #800000;]As [color= #800000;]String[color= #66cc66;]) [color= #800000;]As [color= #800000;]Long

[color= #800000;]Private [color= #800000;]Declare [color= #800000;]Function FreeLibrary Lib [color= #ff0000;]"kernel32.dll" [color= #66cc66;]( _ 

	 ByVal hLibModule [color= #800000;]As [color= #800000;]Long[color= #66cc66;]) [color= #800000;]As [color= #800000;]Long

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#5

الاخ الكريم ، المقصود بإطلاق صراحة هو فصل عملية الربط مع برنامجك !!!

يعني مثلاً لو كنت رابطة مع المكتبة بهذا الأسلوب :

''إدراج مكتبة.
Set obj = CreateObject("ADODB.Connection")

''إطلاق صراح مكتبة.
Set obj = Nothing

شكراً

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#6

السلام عليكم

الكيفية كما ذكرت لك تعتمد على طريقة استخدامك لهذه المكتبة وكما ذكر الاخوة

اما ب Set obj = Nothing

او FreeLibrary

ونرجو ذكر طريقتك لاستدعاء المكتبة

#7

أخواني بارك الله فيكم وأعانكم على طاعته

هذا كود استدعاء ملف DLL

Private Declare Function Sname Lib "SETANP.dll" (ByVal Fname As String)
#8

UP

#9

أخواني أفيدونا بارك الله فيكم

???????????????????????????????????

#10

هل جرّبت ما قلته لك ؟؟

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#11

ليت أخي GamingMasteR تشرحلي أكثر كيفيه أستخدام الدوال اللي وضعتهم

معليش بس والله لم أفهم كيفيه أستخدامهم هل ألغي الكود الذي وضعته في ردي ام ماذا

أعانك الله على طاعته ويسر أمورك ورزقك الذريه الصالحة

#12

المشروع بالمرفقات وهذا الكود :

[color= #800000;]Private [color= #800000;]Declare [color= #800000;]Function GetModuleHandle Lib [color= #ff0000;]"kernel32.dll" Alias [color= #ff0000;]"GetModuleHandleA" [color= #66cc66;]( _

    ByVal lpModuleName [color= #800000;]As [color= #800000;]String[color= #66cc66;]) [color= #800000;]As [color= #800000;]Long

 

[color= #800000;]Private [color= #800000;]Declare [color= #800000;]Function FreeLibrary Lib [color= #ff0000;]"kernel32.dll" [color= #66cc66;]( _

    ByVal hLibModule [color= #800000;]As [color= #800000;]Long[color= #66cc66;]) [color= #800000;]As [color= #800000;]Long

 

 

[color= #800000;]Private [color= #800000;]Sub Command1_Click[color= #66cc66;]([color= #66cc66;])

    [color= #800000;]Dim hModule [color= #800000;]As [color= #800000;]Long

 

    hModule = GetModuleHandle[color= #66cc66;]([color= #ff0000;]"USP10.dll"[color= #66cc66;])   [color= #008000;]'change with you dll name

    [color= #800000;]If hModule <> [color= #cc66cc;]0 [color= #800000;]Then

        FreeLibrary hModule

    [color= #800000;]End [color= #800000;]If

[color= #800000;]End [color= #800000;]Sub

VB_FreeLibrary.rar

mov eax, dword ptr ds:[0xffdf0308]

jmp dword ptr [eax+0xfc]

#13

وفقك الله وأثابك في دنياك وآخرتك أخي GamingMaste

الحمدلله الآن فهمت ألف شكر وجزاك الله عنا خير الجزاء وبعد عنك كل مكروه وأعانك على طاعته

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…