VB.NET实现关机和重新启动

Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Integer, ByVal dwReserved As Integer) As Integer

Const EWX_FORCE As Short = 4

Const EWX_LOGOFF As Short = 0

Const EWX_REBOOT As Short = 2

Const EWX_SHUTDOWN As Short = 1

Dim retval As Integer

' 定义Esc按键

Const VK_ESCAPE As Short = &H1Bs

Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click

If Option1.Checked Then

' 注销当前用户

retval = ExitWindowsEx(EWX_FORCE, 0)

ElseIf Option2.Checked Then

' 关闭计算机

retval = ExitWindowsEx(EWX_SHUTDOWN, 0)

ElseIf Option3.Checked Then

' 重新启动

retval = ExitWindowsEx(EWX_REBOOT, 0)

End If

End Sub

Private Sub Command2_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command2.Click

Me.Close()

End Sub

' 按Esc键时,结束应用程序

Private Sub Form1_KeyPress(ByVal eventSender As System.Object, ByVal eventArgs As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress

Dim KeyAscii As Short = Asc(eventArgs.KeyChar)

If KeyAscii = VK_ESCAPE Then

Me.Close()

End If

If KeyAscii = 0 Then

eventArgs.Handled = True

End If

End Sub

本实例通过使用ExitWindowEx()API函数来达到关机和重新启动的目的。在ExitWindowEx()函数中,参数uFlags指定要进行何种操作。在表86-2中列出了参数uFlags的值及其说明。

表86-2 参数uFlags的值及说明

常量名

说明

EWX_FORCE
4
终止所有进程,包括没有响应的进程,并注销Windows

EWX_REBOOT
2
重新启动系统

EWX_SHUTDOWN
1
关闭系统

EWX_LOGOFF
0
终止所有正在运行的进程,并注销Windows

时间: 2024-12-22 10:23:39

VB.NET实现关机和重新启动的相关文章

Android ICS关机跟重新启动功能研究

Android ICS关机跟重新启动功能研究            最近研究了一下android关机跟重新启动功能.网上的文章也不少,做法也有一些.笔者试过了几种方法,下面介绍一下:   <一>. Android重启功能           在androidjava层执行shell命令来完成.但是笔者在开发测试中同样的代码发现用Eng编译出的版本可以重新启动,user版本不能完成重启,挂在关机那个界面. /********************************************

控制电脑关机或者重新启动的JS代码

js|控制 脚本说明:把如下代码加入<body>区域中<script language="JavaScript">var Application=new ActiveXObject('Shell.Application.1');</script><button onclick=Application.ShutdownWindows();>关机</button><br><button onclick=Appli

XP系统下如何实现远程关机以及重新启动

  首先单击"开始"菜单,打开的窗口单击"控制面板"选项 在控制面板中双击"管理工具",打开的窗口再双击"本地安全策略"

电脑不能正常关机

这就是关机功能失效或不正常的故障.该如何来解决这类故障呢? 一.关机过程及故障原因 Windows的关机程序在关机过程中将执行下述各项功能:完成所有磁盘写操作,清除磁盘缓存,执行关闭窗口程序,关闭所有当前运行的程序,将所有保护模式的驱动程序转换成实模式. 引起Windows系统出现关机故障的主要原因有:选择退出Windows时的声音文件损坏:不正确配置或损坏硬件:BIOS的设置不兼容:在BIOS中的"高级电源管理"或"高级配置和电源接口"的设置不适当:没有在实模式下

浅析Windows2000操作系统中的关机技

电脑关机是一件简单的事情,是我们学习电脑的最基本的一课,虽说简单,但我们若用好了,那关机就变得更惬意了,特别是现在的Win2000,关机有了更多选择.倘若学会其中技巧,别人会把你看成电脑高手,最起码也能在初学者面前炫耀一番吧. 在Win2000里可以一键关机,可以快速休眠.如果你启动Win2000要用一分多钟,而且总是埋怨启动太慢的话,你可以试试Win2000的休眠功能,它能使你快速进入工作状态.怎么才能做到这些呢?跟着我来吧! 让我们进入"控制面板"/"电源"选项

xp无法正常关机的原因剖析

相信使用windows XP朋友都会碰到XP无法关机的情况,虽然没有无法开机那么郁闷,但是也是很不爽的事情! 1.退出Windows时的声音文件损坏 首先你可确定"退出Windows"声音文件是否已毁坏--打开"控制面板",打开"声音",将"退出Windows"声音取消.如果Windows正常关闭,则问题是由退出声音文件所引起的,要解决这一问题,可以从备份中恢复声音文件或者重新安装提供声音文件的程序,也可定义"退出W

Windows 2000系统关机技巧

电脑关机是一件简单的事情,是我们学习电脑的最基本的一课,虽说简单,但我们若用好了,那关机就变得更惬意了,特别是现在的Win2000,关机有了更多选择.倘若学会其中技巧,别人会把你看成电脑高手,最起码也能在初学者面前炫耀一番吧. 在Win2000里可以一键关机,可以快速休眠.如果你启动Win2000要用一分多钟,而且总是埋怨启动太慢的话,你可以试试Win2000的休眠功能,它能使你快速进入工作状态.怎么才能做到这些呢?跟着我来吧! 让我们进入"控制面板"/"电源"选项

在CB程序中控制Windows关机

我们在应用程序编制完成后,需要设计应用程序的包装和分发功能.在编写安装程序时,经常会遇到这样的问题:程序安装完成后需要重新启动计算机.那么在代码中如何控制Windows的关机或重新启动呢? 要实现这个功能,需要用到Windows API提供的一个ExitWindowsEx函数.我们可以通过查看C++ Builder提供的帮助文件得到这个函数的使用格式: BOOL ExitWindowsEx( UINT uFlags, // 设置关机参数 DWORD dwReserved // 系统保留字 );

Win7系统开始菜单没有关机/重启选项是怎么回事?

Win7系统开始菜单没有关机/重启选项是怎么回事? 由于Win7系统的本地组策略启用了"删除和阻止访问'关机'.'重新启动'.'睡眠'和'休眠'命令",而导致Win7系统开始菜单没有关机/重启等选项. 恢复方法: 1.点击"开始"菜单,然后点击"运行"或者点击"WIN+R"快捷键,打开"运行"窗口; 2.在运行窗口里面输入"gpedit.msc",并回车或确定; 3.打开组策略编辑器;