مشاهدة النسخة كاملة : برمج الوقت الذي تريد فيه إطفاء جهازك
paix144
14-09-2009, 01:06 AM
السلام عليكم إخواتي الكرام
هذا كود سورس لإطفاء الجهاز في مدة معينة
nabilkeb
15-09-2009, 01:59 AM
ربما ينفعك هذا أيضـــا //مقتبس:
- لدينــا 5 أزرار ، و لتكن الكابشن على التوالي :
الأولى:shutdown
الثانية:reboot
الثالثة:log off
الرابعة:force
الخامسةower off
procedure getshutdownprivilege;//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_PR IVILEGES Or TOKEN_QUERY),hdlTokenHandle);
LookupPrivilegeValue('','SeShutdownPrivilege',tmpl uid.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:لقطع الإتصال مع الشبكة و تسجيل خروج المستخدم الحالي
الآن و عند تشغيل البرنامج تلاخظ أنه سيحدث عند النقر على:
الزر الأول:إيقاف التشغيل
الزر الثاني:إعادة التشغيل
الزر الثالث:قطع الإتصال مع الشبكة
الزر الرابع:غلق جميع التطبيقات
الزر الخامس:إيقاف التشغيل المباشر
- بمعرفة كل هذا ، يمكنكم إخواني وضع برنامج لتنفيد أي مهمة بتوقيت معين يختاره المستخدم .
بالتوفيق
AL-MOB4RM3G
15-09-2009, 10:20 AM
اولا اشكر الآخ paix144 على السورس,,
ثآنيا اشكر الأخ نبيل على مشآركته الرآئعة,
بارك الله فيكم ونفع بكم, وزآدنا الله وإيآكم من علما و عملا نآفعا,
paix144
15-09-2009, 11:59 PM
السلام عليكم
بارك الله فيك أخي nabilkeb على جملة الأكواد
نورت الموضوع بمرورك الطيب أخي AL-MOB4RM3G
جازاكم الله كل خير إخواتي الكرام
paix144
16-09-2009, 12:16 AM
السلام عليكم
لقد قمت بتعديل السورس كود
vBulletin® , Copyright ©2008-2012