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

كود سهل وفكرته بسيطه جدا لعمل Shutdown

مغلق
بدأه معتز شمس في 30 مارس 2005 · 0 رد · 2,129 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1

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

الحقيقه ان فيه ناس كتير بتسأل عن كيفية عمل Shutdown , و Restart والحاجات دي والردود دائما تكون عن طريق استخدام API , وتكون طرق طويله وغلسه وبما ان انا عدو الـ API وعدو الطرق الغلسه :lol: , فكرت في طريقه جميله جدا وفعاله , وفكرتها ببساطه تقوم على انشاء ملف Batch ووضعه في الـ System حتى لا يراه المستخدم ثم تشغيه اثناء الـ Run Time , وهذا مثال ::

string ShutDownBatch = System.Environment.GetFolderPath(System.Environment.SpecialFolder.System)+@"\shutdown.bat";
StreamWriter mysw = new StreamWriter(ShutDownBatch);
mysw.Write(@"shutdown /p");
mysw.Flush();
mysw.Close();

قمنا في الكود السابق بانشاء ملف Batch باسم shutdown.bat , وكتبنا بداخله shutdown /p

وما علينا الآن هو فقط تشغيل هذا الملف لكى يتم تنفيذ مابداخله ليقوم بعمل الـ ShutDown ,و لتشغيله اكتب هذا الكود بداخل نفس السكوب :

Process myp = new Process();
myp.StartInfo.FileName = ShutDownBatch;
myp.Start();
myp.Close();

قد تتسائل عن هذا الأمر الذي قمنا بكتابته ( shutdown /p ) داخل ملف الباتش !! , من اين عرفته ؟؟

أشكر الأخ ( محمد عبد المجيد ) << متخصص في الـ Network , وهو الذي أخبرني بهذا الأمر ومن ثم جائتني فكرة عمل هذا الكود الذي يغنينا عن الـ API .

ولمزيد من المعلومات حول استخدام الـ shutdown , اذهب الى Run واكتب Cmd , وبعدين اكتب shutdown \i , وحينها ستعرف كيف يتم استعماله وستكتشف ايضا انه يمكن استبدال الـ ( p/ ) باشياء أخرى تمكنك من عمل Restart و Hibernate واغلاق جميع البرامج المفتوحه .... الخ B)

ملحوظه :: الكود شغال %100 على Windows Server 2003 , واذا كنت ترغب في جعله يعمل على Windows XP , قم بتغيير ( shutdown /p ) الى ( shutdown -s -t 0 ) لعمل shutdown او الى ( shutdown -r -t 0 ) لعمل Restart , ولكني لم أجربه بعد على XP.

اما بالنسبه لـ Windows 98 , فان هذه الطريقه لا تعمل عليه اطلاقا , ولكن يوجد طريقه أخرى ولكني لم أجربها ايضا اطلاقا وهى القيام بفتح الـ ( RUNDLL.EXE ) وتمرير user.exe,exitwindows , مثال ::

للـ Shutdown ::

rundll.exe user.exe,exitwindows

للـ Restart ::

rundll.exe user.exe,exitwindowsexec

ملحوظه على الكود :: متنساش تستخدم using System.IO و System.Diagnostics

أرجو ان المشاركه تكون أفادت.

#Read

http://MoutazShams.blogspot.com

projects003.gif

أعتذر عن التغيب هذه الأيام نظرا للانشغال المريب

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

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