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

ماهي الرسالة التي تستخدم لإيقاف التشغيل

مغلق
بدأه سلام الشرجبي في 18 أكتوبر 2005 · 12 رد · 945 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله

هل يمكن إيقاف تشغيل الجهاز بإستخدام Sendmessge

#2

اخي سلام في الحقيقة انا لم اجرب ايقاف التشغيل بالستخداك رسائل النوافذ SendMessage لكن هناك دالة اخرى تستخدم لهذا العمل , فماذا تحتاج SendMessage بالذات .

#3

لا يمكن هذا ،، لانه لو كان الامر بهذه السهولة لاستطاع اي احد منا علي الشبكة باطفاء الاجهزة الاخري ،، هذا لا سمى امن :) لذلك يمكنك عمل برنامج Client / Server من وان يكون السيرفر علي جهاز الضحية لتستطيع اغلاقة او عمل اي شيء حسب برمجتك له .

الإنسان الذي يقول بأنه لا يمكن عمل شيء يجب ألا يعيق مطلقاً الإنسان الذي يقوم بعمل ذلك الشيء.

إن تخطئ فأنت إنسان ... أما أن تلوم جهازك الكمبيوتر على خطأك فهذا أكثر إنسانية.

#4

لأن الدوال الاخرى لاتعمل على جميع الانظمة ولكن اذا كان هنالك طريقة لايقاف التشغيل باستخدام sendMessage فانها ستعمل بالتأكيد على جميع الانظمة

#5

السلام عليكم

صيغة دالة إرسال الرسائل كالتالي :

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" _
                    (ByVal hwnd As Long, _
                     ByVal wMsg As Long, _
                     ByVal wParam As Integer, _
                     ByVal lParam As Any) As Long

وكما ترى الوسائط :

مقبض الكائن

الرسالة المرسلة

الكلمة العليا

الكلمة الدنيا

فلو عوضنا عن المقبض بمقبض زر إقاف التشغيل

و عوضنا عن قيمة الرسالة بالثابت BM_CLICK و الذي يعني حدث النقر بالماوس

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

هذا نظرياً ...

ولكن عملياً لن تنجح

لأن إرسال الثابت BM_CLICK خاص بأداة أزرار الأوامر Bottom Command و زر إنهاء التشغيل الموجود في قائمة إبداً ليس من هذا الصنف :wacko:

لا عليك هناك دالة أخرى تقوم بهذا الأمر و بكل سلاسة :)

وهي ExitWindowsEx :

Declare Function ExitWindowsEx Lib "user32.dll" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

والله أعلم

والسلا م عليكم

أخي سوف تبكي عليك العيون * * * وتـسـأل عـنك دمـوع المـئـين

فإن جف دمعي سيبكي الغمام * * * يـرصـع قـبرك بــالـياسـمـيـن

أخـي مـا يـأسـنـا ولـن نيـأسـا * * * وما طال في القلب لبث الأسى

ومـا حـل أفــئــدة الــمــــؤمـن * * * سـوى أمـل في الـجنـان رسـى

أخي فانتظر ولتعش في غـد * * * سـيـنـبـثـق الأمـل الـسـرمـد

فـإن مـزقـتـنـا سني الــحـيـاة * * * فإنـا مع الـنصـر فـي مـوعــد

#6

السلام عليكم

بالنسبة للدالة ExitWindowsEx فقد سبق وأن تعاملت معها و لم تكن فعالة مع جميع أنظمة التشغيل

و لذلك أنا أبحث عن طريقة تكون فعالة على أي نظام . و أعتقد أن الويندوز عند إيقاف التشغيل يقوم إرسال رسالة ما

طيب هل ممكن إيقاف التشغيل من الدوز . مثلاً

#7

يمكنك غلق الويندوز من الدوس عن طريق الأمر

RUNDLL SHELL32.DLL,SHExitWindowsEx 1

و بالنسبه للداله ExitWindowsEx

سؤال : على أى نظام لم تعمل معك ؟

لا تراجع و لا إستسلام

#8

يمكن ذلك في حالة انه هناك برنامج في الجهاز الهدف يستقبل رسالتك ثم يحللها ليتعرف على امر الغلق ،، :)

بنت اليمن ،،

لا اله الا الله .. محمد رسول الله

(* ربِ اجعلني مقيم الصلاة و من ذريتي ، ربنا و تقبل دعـاء *)

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#9

هل جربت تمرير القيمة 4 كوسيط أول للدالة كالتالي :

Dim s&
s = ExitWindowsEx(4, 0)

4 هي قيمة الثابت EWX_FORCE والذي يعني الإغلاق القسري للنظام .

عندي على جهازي تنجح العملية .

و بالله التوفيق

أخي سوف تبكي عليك العيون * * * وتـسـأل عـنك دمـوع المـئـين

فإن جف دمعي سيبكي الغمام * * * يـرصـع قـبرك بــالـياسـمـيـن

أخـي مـا يـأسـنـا ولـن نيـأسـا * * * وما طال في القلب لبث الأسى

ومـا حـل أفــئــدة الــمــــؤمـن * * * سـوى أمـل في الـجنـان رسـى

أخي فانتظر ولتعش في غـد * * * سـيـنـبـثـق الأمـل الـسـرمـد

فـإن مـزقـتـنـا سني الــحـيـاة * * * فإنـا مع الـنصـر فـي مـوعــد

#10

بالنسبة للأمر عن طريق الدوز فهو للأسف لم يعمل معي

أما بالنسبة للأنظمة التي لم تعمل فيها Exitwindos فهي2000 و me (يعمل تسجيل خروج)

و قد حاولت وغيرت في البارامترات و لجأت لل msdn و لكن دون جدوى

#11

هل مازالت المشكلة ؟

هذ حل أخر :::

الملف logoff.exe الموجود في مجلد Windows\System32 أرجو أن ينجح معك :)

بإمكانك تشغيله من الدوس أن النقر المزدوج علي أيقونته

أخي سوف تبكي عليك العيون * * * وتـسـأل عـنك دمـوع المـئـين

فإن جف دمعي سيبكي الغمام * * * يـرصـع قـبرك بــالـياسـمـيـن

أخـي مـا يـأسـنـا ولـن نيـأسـا * * * وما طال في القلب لبث الأسى

ومـا حـل أفــئــدة الــمــــؤمـن * * * سـوى أمـل في الـجنـان رسـى

أخي فانتظر ولتعش في غـد * * * سـيـنـبـثـق الأمـل الـسـرمـد

فـإن مـزقـتـنـا سني الــحـيـاة * * * فإنـا مع الـنصـر فـي مـوعــد

#12

اخي الكريم مبدا طريقة net_code

و هو ان تدرس نظامك ما هي الملفات التي يشغلها عند ايقاف التشغيل و تشغلها بنفسك

انا شخصيا مش الحال معي

#13

جرب الملف shutdown.exe ملف حليو وفيه مجموعة من البارامترات اللي تعطيك خيارات حلوه مثل

shutdown -r -t 10 -c "Hacking by MSVS :)"

الرسالة السابقة تقوم بإعادة تتشغيل الجهاز و بعد 10 ثوان و تظهر الرسالة التي بين علامين التنصيص .

أخي سوف تبكي عليك العيون * * * وتـسـأل عـنك دمـوع المـئـين

فإن جف دمعي سيبكي الغمام * * * يـرصـع قـبرك بــالـياسـمـيـن

أخـي مـا يـأسـنـا ولـن نيـأسـا * * * وما طال في القلب لبث الأسى

ومـا حـل أفــئــدة الــمــــؤمـن * * * سـوى أمـل في الـجنـان رسـى

أخي فانتظر ولتعش في غـد * * * سـيـنـبـثـق الأمـل الـسـرمـد

فـإن مـزقـتـنـا سني الــحـيـاة * * * فإنـا مع الـنصـر فـي مـوعــد

هذا الموضوع مغلق.

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

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

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

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

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