热情软件屋

 

如何实现重启动Windows的功能


编号:QA000057
建立日期: 1998年10月26日 最后修改日期:1998年10月26日
所属类别:

Hu Minghu:
    用API函数 ExitWindowsEx() 可方便地实现关机,重启动计算机的功能,但怎样才能编程实现如PowerExit中重启动Windows的功能,还请指点?

回答:

    这里说的重新启动Windows和大家所熟悉的关机和重新启动计算机是不同的功能。重新启动Windows是不重新启动计算机,而只重新启动Windows,这个功能Windows Me/NT/2000都不支持,只有Windows 95/98支持。如果想了解如何关机和重新启动计算机,参考QA001112 "如何重新启动本机、关机"
    在Windows 3.x中,使用ExitWindows(EW_REBOOTSYSTEM, 0)就可以使Windows重新启动,但是这一功能在Win32 API中已经被取消。虽然Windows 9x仍然保留了这种启动方式,但一个32位程序要想使用这一功能必须想办法调用Win16 API中ExitWindows函数。一般的来说,一个32位程序是无法调用16位API的,但Windows 9x提供了一种Thunk技术,使这变得可能。C语言和Delphi都可以实现Thunk技术,但对于Visual Basic和Visual FoxPro这样的工具就有困难了。由于Thunk技术略显复杂,在此就不详细叙述了。这里提供一个DLL,这个DLL允许你在32位程序中实现重启动Windows的功能。你可以下载rstwin.zip这个文件,在这个文件中还包括一个Visual Basic的例子,演示了如何使用这个DLL。

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio