分类: 电脑/网络 >>程序设计 >>其他编程语言
问题描述:
如果要让程式记录启动次数,以及用户可以设置启动等待时间!那么请写出你的初步构思方法,例如需要用到什么函数,什么控件,通过什么来记数,计时,如何让它在系统启动时自动运行等等!
在这里先谢谢了!
解析:
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, pResult As Long) As Long
说毕链明
在指定的项下创建一个新项。如指定的项已经存在,那么函数会打开现有的项
RegOpenKey
VB声明
Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, pResult 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帮助,自己写吧
vb.net程序搏嫌出错后再重启程序,目前我能裂芦实现的最好的方法就是先用shell命令 “生一个儿子”,然后“自己死掉”基源手。
第一句
Shell(Application.StartupPath &"\我的程序.exe", vbNormalFocus)
第二句
End
完工!!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)