在VB中终止Win9X

原创 2002年02月25日 08:51:00

在VB中终止Win9X

 

  在Visual Basic程序中,可以使用Windows API函数来重新启动计算机系统,文本介绍如何退出Windows 9X并关闭计算机系统。
一、关闭计算机系统

  可以使用Windows API的ExitWindowsEx函数来从Visual Basic程序中重新启动计算机系统。要使用该函数,需要将如下声明语句包含在窗体的通常声明部分中:

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

  ExitWindowsEx 函数需要2个参数,可以使用一个或多个下面的标识的组合来告诉ExitWindowsEx函数希望进行关机过程。

  EWX_FORCE所有的进程都被强制终止。

  EWX_LOGOFF所有的进程被强制终止,并且用户退出登录(logged off)。

  EWX_POWEROFF计算机系统被关机,并且如果支持节电特性,则计算机被物理关机。

  EWX_REBOOT计算机系统被关机并重新启动。

  EWX_SHUTDOWN计算机被物理地安全地关机。

  下面的样例程序中使用了上面的三个标识的组合。该标识组合(EWX_LOGOFF,EWX_FORCE, 以及EWX_REBOOT)告诉Windows95退出所有正在执行的进程,使用户退出网络登录,使计算机系统处于准备状态以供用户关机。

二. 样例程序

  该样例程序显示了如何关闭计算机系统。

  1、在Visual Basic中开始一个新的项目,采用缺省的方法建立Form1。

  2、将如下常量和声明语句添加到Form1的通常声明部分中(注意该声明语句需要书写在一行内):

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

Const EWX_LOGOFF = 0

Const EWX_SHUTDOWN = 1

Const EWX_REBOOT = 2

Const EWX_FORCE = 4

Const EWX_POWEROFF = 8

Const EWX_RESET = EWX_LOGOFF + EWX_FORCE + EWX_REBOOT
 

  3、在Form1上添加一个命令按钮控件,采用缺省的方法建立Comand1。将它的Caption属性设置为“重新启动计算机”。

  4、将如下代码添加到Command1的单击事件中:

Private Sub Command1_Click()

Dim X As Long

X = ExitWindowsEx(EWX_RESET, dwReserved)

End Sub
 

 按下F5来运行上述样例程序,单击命令按钮,即可重新启动计算机系统。


       以上代码来自: 源代码数据库(SourceDataBase)
           当前版本: 1.0.445
               作者: Shawls
           个人主页: Http://Shawls.Yeah.Net
             E-Mail: ShawFile@163.Net
                 QQ: 9181729

在VB中终止Win9X

  • zgqtxwd
  • zgqtxwd
  • 2008年05月01日 05:36
  • 162

VB停止进程

遇到一个问题,就是VB6.0操作Excel的过程中,往往会出现无法停掉Excel进程的问题。这个问题尤其出现在操作Excel2000的过程中,所以想强制终止Excel进程。从网上查了好久,不是调用AP...
  • tuye14
  • tuye14
  • 2008年03月05日 14:42
  • 444

PHP+Apache在Win9X配置安装

  • zgqtxwd
  • zgqtxwd
  • 2008年05月01日 04:22
  • 75

TIB --- FS

转载自: http://en.wikipedia.org/wiki/Win32_Thread_Information_Block Contents of the TIB[edit] ...
  • u012410612
  • u012410612
  • 2013年11月30日 17:58
  • 680

VB 定时终止进程

do set bag=getobject("winmgmts:\\.\root\cimv2") set pipe=bag.execquery("select * from win32_proces...
  • u011354613
  • u011354613
  • 2016年04月18日 17:54
  • 148

[转]探索Windows的内存机制

内存是操作系统的核心部分,所以我们非常有必要了解内存的分配机制。在DOS下,访问内存的指针是用段地址:偏移量来表示,所有程序共用一个内存空间,由低向高分配内存空间,所以任何程序都可以随便修改内存中的数...
  • wuhuiran
  • wuhuiran
  • 2007年10月14日 14:08
  • 667

VB中ByVal和ByRef

这是vb中传值与传址的参数修饰 byval 是按值传送,在传的过程中不会改变原来的值,仅仅传送的是一个副本,而 byref 相反,从内存地址来说,后者是同一个内存地址ByVal为传值,当你把函数外的一...
  • ninjya_luck
  • ninjya_luck
  • 2008年04月23日 13:09
  • 6162

所有ghost操作系统大全

1.   软件名称: 1【http】【ftp】Ghost XP_SP2电脑公司特别版_v4.1  软件类型: 大型软件/免费软件   软件语言: 简体中文   运行环境: Win9X/Win2000/...
  • fenglibing
  • fenglibing
  • 2007年09月11日 21:36
  • 17476

vb.net学习总结四(取消键盘的输入)

我们有时希望某个文本框只能输入数字,不能输入字符。有时希望用户在文本框中输入的数字最大不能超过某个值。这个对于vb.net来说都是太Easy了。我们可以 通过 在  文本框的 KeyPress 事件 ...
  • precipitant
  • precipitant
  • 2006年11月30日 18:27
  • 2456

如何在VB中终止Windows系统

在Visual Basic 程 序 中, 可 以 使 用Windows API 函 数 来 重 新 启 动 计 算 机 系 统, 文 本 介 绍 如 何 退 出Windows 并 关 闭 计 算 机 ...
  • xiaoyecanfeng
  • xiaoyecanfeng
  • 2012年01月11日 09:24
  • 141
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在VB中终止Win9X
举报原因:
原因补充:

(最多只允许输入30个字)