در ویژوال بیسیک یک دستور به نام Shell وجود داره که میتواند یک برنامه رو با دریافت کردن آدرس برنامه اجرا کنه (همانند Run در ویندوز) و یکی از بهترین کارهایی که این تابع می تونه انجام بده اجرای برنامه هایی که می توان با تایپ مستقیم در Run ویندوز اجرا کرد مانند Calc و Notepad و Regedit و Log Off و ... هست
من تو این آموزش می خوام از این روش برای خاموش کردن کامپیوتر استفاده کنم البته باید متذکر بشم که راههای دیگری همچون توابع API ای مانند ShellExecute و ExitWindowsEx و... برای خاموش کردن کامپیوتر وجود داره که من راحتترین روش رو برای این کار آموزش می دم البته در آینده این توابع نیز توضیح داده خواهد شد
برای شروع کار یه پروژه استاندارد ویندوز در ویژوال بیسیک باز کنین و سه دکمه فرمان (Command Button) روی فرم رسم کنید و مقدار Caption اونها رو به ترتیب با Log Off و Shut Down و Restart مقدار دهی کنید البته برای بهتر جلوه دادن برنامه می تونید از تصویر به جای دکمه استفاده کنید که در مثال این برنامه از تصویر استفاده کردم
یه کم در مورد دستور Shell توضیح می دم:
شکل کلی این دستور به شکل زیر است:
Call Shell (pathname,[Windows Style]) ‘ Shell Type
همون طور که ملاحضه می فرمایید این تابع دارای دو آرگومان بسیار مهم هستش
Pathname: مسیر برنامه که نوشتن اون در این تابع الزامی است و از نوع رشته ای هستش و باید در داخل دو کوتیشن محصور بشه ، همون طور که قبلا گفته بودم می تونین از دستورات Run ویندوز به جای آدرس دهی کامل در برخی برنامه ها استفاده کنین
: Windows Style همون طور که از نامش پیداست نوع باز شدن پنجره برنامه رو معین می کنه که نوشتنش الزامی نیست و در صورت ننوشتن پنجره در حالت عادی باز می شه این آرگومان می تونه با یکی از ثابت های زیر مقدار دهی بشه
VbNormalFocus
VbMaximized
VbMinimized
VbHidden
که به ترتیب برای اجرای عادی – در حالت ماکسیمایز – درحالت مینیمایز – و اجرای مخفی به کار میرون البته گزینه های دیگری هم وجود داشت که از آنها به دلیل کاربرد کم صرف نظر کردم
برای خاموش کردن کامپیوتر می تونیم دستور زیر رو در Run ویندوز تایپ کنیم
Shutdown –s –f –t 0
اگه در دستور بالا به جای –s از –r استفاده کنیم سیستم ریستارت می شه و اگه از –L استفاده کنیم سیستم Log Off می شه تقریبا همه چی تموم شده می تونین برای خاموش کردن کامپیوتر از دستور
Call Shell (“shutdown –s –f –t 0”) ‘Turn Off Windows
و از دستور
Call Shell (“shutdown –r –f –t 0”) ‘Reboot Windows
برای ریستارت کامپیوتر و همچنین از دستور
Call Shell (“shutdown –l –f –t 0”) ‘Log off Windows
برای Log Off کردن کامپیوتر می توانید استفاده کنید
کد کامل:
Private sub Cmdlogoff_Click()
Call Shell (“shutdown –l –f –t 0”,vbHidden) ‘Log Off Windows
End sub
Private sub CmdShutdown_Click()
Call Shell (“shutdown –s –f –t 0”,vbHidden) ‘Turn Off Computer
End sub
Private sub cmdrestart_Click()
Call Shell (“shutdown –r –f –t 0”, vbHidden) ‘Reboot Computer
End sub
نکته بین –r و –f و –tو صفر در همه مثالها فاصله وجود داره
ضمنا کلمات بعد از ' عبارات توضیحی هستند و برای خوانایی برنامه به کار میروند .الزامی در نوشتن آنها نیست
لطفا نظر یادتون نره