برامج

أرجوكم المساعدة من مبرمجين الفيجوال بيسك.نت [الأرشيف] - برامج نت

المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : أرجوكم المساعدة من مبرمجين الفيجوال بيسك.نت


thunderstrike2070
06-10-2007, 07:40 AM
السلام عليكم يا إخوانى
واجهتنى مشكلة و أريد معرفة حلها
كنت أعمل على برنامج و أردت أن أضع فى هذا البرنامج أزرار تتيح لى أن أعمل للجهاز Shut down أو Restart أو Hibernate , إلخ...
و أستخدمت أحد أكواد دوال API و هو أن أضع الكود التالى فى الـ General Decleration

Const EWX_LOGOFF = 0
Const EWX_SHUTDOWN = 1
Const EWX_REBOOT = 2
Const EWX_FORCE = 4
Const EWX_POWEROFF = 8
Declare Function ExitWindowsEx Lib "user32.dll" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

ثم أضع الكود التالى فى المكان الذى أريد أن أنشط منه العملية:
dim retval as long
retval = ExitWindowsEx(EWX_REBOOT Or EWX_FORCE, 0)


لكن هذا الكود لم يشتغل ثم أتضح لى فيما بعد أن هذا الكود لا يشتغل على Windows NT و XP و أنظمة التشغيل الأحدث لأسباب تتعلق بالأمن و الحماية فى الويندوز

فما هو الكود الذى يسمح بهذه العملية على ويندوز XP و غيره؟

هذه صورة مبسطة لما أريد عمله:
http://64.4.30.250/cgi-bin/getmsg/Shutdown.JPG?&msg=MSG1181459870.1&start=5009942&len=14901&mimepart=3&curmbox=F000000001&b=a8d1d6508201c2a8f76122c471603b6f&disk=64.4.30.68_d771&login=thunderstrike2070&domain=hotmail%2ecom&hm___sig=c190750801c7ab2f07b4ce90161691eb465952072 e1c06c9
ملحوظة:
1- عندما بحثت عن حل للمشكلة وجدت Class أسمه Windows controller فى منتدى MSDN
لكن بصراحة لم أفهم كيف أربطه بالأزرار الخاصة بتشغيل هذه العملية.
2- أرجوكم أريد شرح مبسط لما سأضعه فى كود كل زرار لإنى ليس محترف.
و جزاكم الله خيرا ...