در اينجا قصد داريم نحوه خاموش کردن کامپيوتر را بوسيله ويژوال بيسيک 6 آموزش بدهيم.
در ويژوال بيسيک يک دستور به نام Shell وجود دارد که ميتواند يک برنامه را با دريافت کردن آدرس برنامه، اجرا کند؛ همانند Run در ويندوز و يکي از بهترين کارهايي که اين تابع مي تواند انجام دهد، اجراي برنامه هايي که مي توان با تايپ مستقيم در Run ويندوز اجرا کرد مانند Calc ،Notepad و Regedit و Log Off و ...
ما در اين آموزش مي خواهيم از اين روش براي خاموش کردن کامپيوتر استفاده کنيم البته بايد متذکر شويم که راههاي ديگري همچون توابع API اي مانند ShellExecute و ExitWindowsEx و ... براي خاموش کردن کامپيوتر وجود دارد که راحت ترين روش را براي اين کار را آموزش مي دهيم.
براي شروع کار يک پروژه استاندارد ويندوز (Standard EXE) در ويژوال بيسيک باز کنيد و سه دکمه فرمان (Command Button) روي فرم (Form) رسم کنيد و مقدار Caption آنها را به ترتيب با Log Off و Shut Down و Restart مقدار دهي کنيد. البته براي بهتر جلوه دادن برنامه مي توانيد از تصوير به جاي دکمه استفاده کنيد که در مثال اين برنامه از تصوير استفاده کرديم.
دستور Shell:
شکل کلي اين دستور به شکل زير است:
Shell (pathname,[Windows Style]) As Double 'Shell Type
همانطور که ملاحضه مي فرماييد، اين تابع داراي دو آرگومان بسيار مهم هست:
Pathname: مسير برنامه که نوشتن آن در اين تابع الزامي است و از نوع رشته اي (String) هست و بايد در داخل دو کوتيشن (") محصور شود. همانطور که گفتيم، مي توانيد از دستورات Run ويندوز به جاي آدرس دهي کامل در برخي برنامه ها استفاده کنيد.
Windows Style: همانطور که از نامش پيداست، نوع باز شدن پنجره برنامه را معين مي کند که نوشتنش الزامي نيست و در صورت ننوشتن، پنجره در حالت عادي (Normal) باز مي شود. اين آرگومان مي تواند با يکي از ثابت هاي زير مقدار دهي شود:
VbNormalFocus
VbMaximized
VbMinimized
VbHidden

چون اين تابع خروجي دارد، براي استفاده از اين تابع بصورت يک سابروتين (Sub)، بصورت زير استفاده مي کنيم:
[RIGHT]Shell pathname,[Windows Style]
[/RIGHT]
براي خاموش کردن (Shutdown) کامپيوتر مي توانيم دستور زير را در Run ويندوز تايپ کنيم:
Shutdown -s -f -t 0
اگر در دستور بالا به جاي s- از r- استفاده کنيم، سيستم ريستارت (Restart) مي شود و اگر از L- استفاده کنيم، سيستم Log Off مي شود.
تقريباً همه چي تمام شده، مي توانيد براي خاموش کردن کامپيوتر از دستور:
[RIGHT]Shell ("shutdown -s -f -t 0") 'Turn Off Windows
[/RIGHT]
و براي ريستارت کامپيوتر از دستور:
[RIGHT]Shell ("shutdown -r -f -t 0") 'Reboot Windows
[/RIGHT]
و همچنين براي Log Off کردن کامپيوتر از دستور:
[RIGHT]Shell ("shutdown -l -f -t 0") 'Log off Windows
[/RIGHT]
استفاده کنيد.
کد کامل:
[RIGHT]Private Sub Cmdlogoff_Click()
Shell "shutdown -l -f -t 0", vbHidden 'Log Off Windows
End Sub
[/RIGHT]
[RIGHT]Private Sub CmdShutdown_Click()
Shell "shutdown -s -f -t 0", vbHidden 'Turn Off Computer
End Sub[/RIGHT]
[RIGHT]Private Sub cmdrestart_Click()
Shell "shutdown -r -f -t 0", vbHidden 'Reboot Computer
End Sub
[/RIGHT]
نکته:
بين r- و f- و t- و صفر، در همه مثالها، فاصله وجود دارد.