编写一段VB的主要代码,功能为:让XP系统重新启动

王朝知道·作者佚名  2009-07-06
窄屏简体版  字體: |||超大  
 
分類: 電腦/網絡 >> 程序設計 >> 其他編程語言
 
問題描述:

如果要让程式记录启动次数,以及用户可以设置启动等待时间!那麼请写出你的初步构思方法,例如需要用到什麼函数,什麼控件,通过什麼来记数,计时,如何让它在系统启动时自动运行等等!

在这里先谢谢了!

參考答案:

1.记录启动次数:用户savesetting和getsetting语句可以将应用程序配置信息保存在注册中

2.等待时间:可以用Timer控件现实

3.重启系统:用API函数exitWindowsEx

VB声明

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

说明

退出windows,并用特定的选项重新启动

返回值

Long,非零表示成功,零表示失败。会设置GetLastError

参数说明:

uFlags 指定下述一个或多个标志(用OR运算符合并到一起)

EWX_FORCE 强迫中止没有响应的进程

EWX_LOGOFF 中止进程,然后注销

EWX_SHUTDOWN 关掉系统电源(如果可能的话,ATX电源就可以)

EWX_REBOOT 重新引导系统

EWX_SHUTDOWN 关闭系统

dwReserved Long,保留,设为零

4.在系统启动时自动运行

可以创建一个快捷方式复制到启动菜单中

也可以通过设置注册表中的RUN项来实,以下API可以访问注册

RegCreateKey

VB声明

Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

说明

在指定的项下创建一个新项。如指定的项已经存在,那么函数会打开现有的项

RegOpenKey

VB声明

Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long

说明

打开一个现有的注册表项

RegSetValue

VB声明

Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long

说明

设置指定项或子项的默认值

RegQueryValue

VB声明

Declare Function RegQueryValue Lib "advapi32.dll" Alias "RegQueryValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal lpValue As String, lpcbValue As Long) As Long

说明

取得指定项或子项的默认(未命名)值

可以在网上找到相关API帮助,自己写吧

小贴士:① 若网友所发内容与教科书相悖,请以教科书为准;② 若网友所发内容与科学常识、官方权威机构相悖,请以后者为准;③ 若网友所发内容不正确或者违背公序良俗,右下举报/纠错。
 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航