delphi4arab منتديات دلفي للعرب

نسخة كاملة : برمج الوقت الذي تريد فيه إطفاء جهازك
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم إخواتي الكرام
هذا كود سورس لإطفاء الجهاز في مدة معينة
ربما ينفعك هذا أيضـــا //مقتبس:


- لدينــا 5 أزرار ، و لتكن الكابشن على التوالي :
الأولىConfusedhutdown
الثانية:reboot
الثالثة:log off
الرابعة:force
الخامسةower off


كود :
procedure getshutdown[U]privilege[/U];//this procedure is used to get the shutdown or reboot or poweroff privilege var hdlProcessHandle:cardinal; hdlTokenHandle:cardinal; tmpLuid:LUID_AND_ATTRIBUTES; tkp:TOKEN_PRIVILEGES; tkpNewButIgnored:TOKEN_PRIVILEGES; lBufferNeeded:cardinal; begin tmpluid.Attributes:=SE_PRIVILEGE_ENABLED; hdlProcessHandle:= GetCurrentProcess; OpenProcessToken(hdlProcessHandle,(TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY),hdlTokenHandle); LookupPrivilegeValue('','SeShutdownPrivilege',tmpluid.Luid); tkp.PrivilegeCount:=1; tkp.Privileges[0]:=tmpluid; AdjustTokenPrivileges(hdlTokenHandle,False,tkp,16,tkpNewButIgnored,lBufferNeeded); end;
* هذا الكود في الواقع هو ليس لإيقاف أو إعادة تشغيل الكمبيوتر أو ... ولكنه كود ضروري استعماله خاصة مع windows2000 أو windowsXp وهو يستعمل للحصول على إمتياز إيقاف أو إعادة تشغيل الكمبيوتر لأنه دون الحصول على الإمتياز لا يمكنك تطبيق الأمر...

و الآن نكون قد وصلنا إلى الخطوة الأهم المتمثلة في كيفية إيقاف أو إعادة تشغيل الكمبيوتر ...
كود :
procedure TForm1.Button1Click(Sender: TObject); begin if not (exitwindowsex(ewx_shutdown,0)) then begin //Shutdown computer getshutdownprivilege; exitwindowsex(ewx_shutdown,0); end; end; procedure TForm1.Button2Click(Sender: TObject); begin if not (exitwindowsex(ewx_reboot,0)) then begin //Restaring computer getshutdownprivilege; exitwindowsex(ewx_reboot,0); end; end; procedure TForm1.Button5Click(Sender: TObject); begin if not (exitwindowsex(ewx_poweroff,0)) then begin //Power off computer getshutdownprivilege; exitwindowsex(ewx_poweroff,0); end; end; procedure TForm1.Button3Click(Sender: TObject); begin if not (exitwindowsex(ewx_logoff,0)) then //Log off computer exitwindowsex(ewx_logoff,0); end; procedure TForm1.Button4Click(Sender: TObject); begin exitwindowsex(ewx_force,0); end;
- الدالة المستعملة لإيقاف أو إعادة تشغيل الكمبيوتر أو ... هي الدالة Exitwindowsex و نجد فيها الخيارات التالية:

Ewx_shutdown:لإيقاف تشغيل الكمبيوتر.. لتحقيق ذلك لابد من الحصول على الإمتياز

Ewx_Reboot:لإعادة تشغيل الكمبيوتر.. لتحقيق ذلك لابد من الحصول على الإمتياز

Ewx_poweroff:لإيقاف تشغيل الكمبيوتر مباشرة أي دون إظهار الرسالة ... لتحقيق ذلك لابد من الحصول على الإمتياز و لابد أن يكون جهازك يدعم إيقاف

التشغيل المباشر و إذا لم يكن الجهاز يدعم هذه الخاصية سيتم إعادة التشغيل فقط

Ewx_force:لإغلاق جميع التطبيقات العاملة حاليا ... وهو خيار غير آمن

Ewx_logoff:لقطع الإتصال مع الشبكة و تسجيل خروج المستخدم الحالي


الآن و عند تشغيل البرنامج تلاخظ أنه سيحدث عند النقر على:

الزر الأول:إيقاف التشغيل
الزر الثاني:إعادة التشغيل
الزر الثالث:قطع الإتصال مع الشبكة
الزر الرابع:غلق جميع التطبيقات
الزر الخامس:إيقاف التشغيل المباشر
[FONT=Tahoma]
- بمعرفة كل هذا ، يمكنكم إخواني وضع برنامج لتنفيد أي مهمة بتوقيت معين يختاره المستخدم .

بالتوفيق
اولا اشكر الآخ paix144 على السورس,,

ثآنيا اشكر الأخ نبيل على مشآركته الرآئعة,

بارك الله فيكم ونفع بكم, وزآدنا الله وإيآكم من علما و عملا نآفعا,
السلام عليكم
بارك الله فيك أخي nabilkeb على جملة الأكواد
نورت الموضوع بمرورك الطيب أخي AL-MOB4RM3G

جازاكم الله كل خير إخواتي الكرام
السلام عليكم
لقد قمت بتعديل السورس كود