ابقاء برنامج في حالة ترقب
#1
السلام عليكم

ممكن اخوان كيف اجعل برنامجي يترقب حدوث شئ ما
مثلا تشغيل بروسيس ياسم test.exe في حالة تشغيل ذلك بروسيس يظهر رسالة ان ذلك يروسيس شغال
طبعا مع عدم استهلاك موارد الجهاز مثل استخدام تايمر
الرد
#2
يتوجب عليك استخدام Global Api Hook على داول تشغيل الملفات و تحميل البروسس :
OpenProcess
LoadLibrary
ShellExecute
Open Your Source .. Open Your Mind
الرد
#3
SMP3 كتب :يتوجب عليك استخدام Global Api Hook على داول تشغيل الملفات و تحميل البروسس :
OpenProcess
LoadLibrary
ShellExecute

ممكن شروحات لاني لم افهم اي شئ :eek:
الرد
#4
إقتباس :ممكن شروحات لاني لم افهم اي شئ
ان لم تفهم شيئا .. فأنصحك بالابتعاد عن الموضوع أو الفكرة ..
أية أخطاء قد تسبب انهيار للنظام ..
Open Your Source .. Open Your Mind
الرد
#5
SMP3 كتب :ان لم تفهم شيئا .. فأنصحك بالابتعاد عن الموضوع أو الفكرة ..
أية أخطاء قد تسبب انهيار للنظام ..

انا اعتقد انه هنالك طرق بسيطة غير عمل هوك
يعني انا رأيت برنامج يعمل نفس ما قلت في الطلب و لكن لا اعتقد انه يستخدم hook
الرد
#6
السلام عليكم


تستطيع عمل ذلك بدون هووك .. لكن الطريقة الافضل هي عمل الهوك إذا كنت تريد عمل حامي فيروسات مثلاً

الطريقة بدون عمل هوك هي كتالي( تتطلب إستعمال تامير او حلقة Loop ) :
1- يتوجب عليك ان تملك شيء يدل على العملية التي تريد ترقبها مثلاً اسمها(test.exe) .. أو اسم الكلاس الرئيسي لها أو اي شيء يدل على العملية ولا تشترك فيه باقي العمليات
2- تقوم بعمل جرد للعميات الحالية التي تعمل ثمب بعد ذلك تبحث عن العملية التي تترقبها من عملية الجرد التي قمت بها قبل قليل .. مثلاً تبحث عن اسم العملية ..
3- بعد أن تجد العملية قم بالحصول على الهاندل الخاص بها واعمل ما شئت بها .

ملاحظة : يفضل إستعمال Thread خاص بهذه العملية ^^ .. كي لا يحصل أي بطئ بالجهاز ولا داعي أن تجعل عملية الترقب سريعه

إذا لم تتضح أي خطوة تفضل بالسؤال
الرد
#7
برايي الدي يحدد عمل الهوك او الاعنماد فقط على الـ loop هو مادا تريد يفعل برنامجك
فانتبه الفرق بينهما كبير
بـ hook البرنامج الهدف لن يعمل حتى تسمح له
بـ loop البرنامج الهدف يبدا العمل فعلاا و لا ينتظرك حتى تسمح له
.:: مبرمج شوارع ::.
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم