回 帖 发 新 帖 刷新版面

主题:【求助】如何用VB实现电脑正常关机时运行程序?

【求助】如何用VB实现电脑正常关机时运行程序?
谢谢帮助*与试题无关*仅仅是初学者进行技术探索……

回复列表 (共21个回复)

11 楼

[quote]他的意图是倒下前射出最后一颗子弹[/quote]
应该是别人拿枪指着楼主问“想不想被干掉?”,然后楼主想在别人开枪前处理好一些事情。

12 楼

不是啦!我的意思是我做一个软件,记录开机和关机的时间,督促我的弟弟不要用电脑时间过长!
另:请tanchuhan前辈解释一下代码,好吗?
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    If UnloadMode = xxx Then
        'place you code here
    End If
End Sub

13 楼

如果要达到你的目标,可以用GetTickCount()来获取当前Windows运行的时间,如果超过了你的预期时间,直接ExitWindowsEx来退出Windows。
当然也可以枚举出桌面的子窗体,再一一DestroyWindow,但我想前者来得简单。

14 楼

GetTickCount()
这个函数需要API调用吗?就是说需要声明吗?

15 楼

【VB声明】
  Declare Function GetTickCount Lib "kernel32" Alias "GetTickCount" () As Long

【说明】
  用于获取自windows启动以来经历的时间长度(毫秒)

【返回值】
  Long,以毫秒为单位的windows运行时间

16 楼

写在段脚本到:C:\WINDOWS\System32\GroupPolicy\Machine\Scripts\Shutdown时面。
不过这种方法,我还没有试过。

17 楼

题目要写清楚,既然要记录开机和关机时间,那程序应该在机子启动时就运行。
记录时间可在form_load、form_unload完成。

18 楼

难道楼主是想在程序里拦截到电脑关机时消息?拦截到之后先运行一个程序,运行完了再关机?
这得用到全局HOOK吧,VB做估计很难。网上都说VB做不出全局的HOOK的。

另:[quote]不是啦!我的意思是我做一个软件,记录开机和关机的时间,督促我的弟弟不要用电脑时间过长![/quote]
直接给你弟弟沟通不就成了。

19 楼

直接看系统日志就行了

20 楼

如何用VB读取系统日志呢?

我来回复

您尚未登录,请登录后再回复。点此登录或注册