如何编写一个定时关机的程序?
解决方案 »
- 有没有全屏截图后立刻存为jpg的代码
- 如何用VB调用PHOTOSHOP 编写的.ATN脚本啊急!!!!
- 高分求:如何在文本文件中删除部分记录??????
- 今天俺想辞职,就放50分吧.今晚五点前结贴!
- 在vb中如何判断开始菜单是否隐藏,各位大虾帮帮忙
- 急求关于文件系统的使用说明,请各位老大帮忙?
- 请教WEBCLASS问题,创建了一个最简单的示例。总是在create.object是失败。说是服务器权限不足。在线等待。
- 谁有好的加密算法介绍几个,在这里谢谢大家了!
- 一个很难的问题:如何读取WORD和EXCEL文档内容,不用OLE,那只能读出第一页。分数少点,以后会补上。
- vb如何解决DataReport中导入image图片,也可以实现DataReport预览图片呢?
- vb怎么编写一直线y=19x+4,输入x的值,就在直线上表示出(x,y)相应的一点
- 如何实现服务器控制局域网内所有客户端的关机?
Enum HowExitConst
EWX_FORCE = 4 ' 强制关机
EWX_LOGOFF = 0 ' 登出
EWX_REBOOT = 2 ' 重开机
EWX_SHUTDOWN = 1 ' 关机
EWX_POWEROFF = 8
End EnumConst TOKEN_ADJUST_PRIVILEGES = &H20
Const TOKEN_QUERY = &H8
Const SE_PRIVILEGE_ENABLED = &H2
Const ANYSIZE_ARRAY = 1Private Type LUID
lowpart As Long
highpart As Long
End TypePrivate Type LUID_AND_ATTRIBUTES
pLuid As LUID
Attributes As Long
End TypePrivate Type TOKEN_PRIVILEGES
PrivilegeCount As Long
Privileges(ANYSIZE_ARRAY) As LUID_AND_ATTRIBUTES
End TypePublic Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
Private Declare Function LookupPrivilegeValue Lib "advapi32.dll" Alias _
"LookupPrivilegeValueA" (ByVal lpSystemName As String, _
ByVal lpName As String, lpLuid As LUID) As Long
Private Declare Function AdjustTokenPrivileges Lib "advapi32.dll" _
(ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, _
NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, _
PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As Long
Private Declare Function OpenProcessToken Lib "advapi32.dll" _
(ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, _
TokenHandle As Long) As LongPublic Sub AdjustToken()
Dim hdlProcessHandle As Long
Dim hdlTokenHandle As Long
Dim tmpLuid As LUID
Dim tkp As TOKEN_PRIVILEGES
Dim tkpNewButIgnored As TOKEN_PRIVILEGES
Dim lBufferNeeded As Long
hdlProcessHandle = GetCurrentProcess()
OpenProcessToken hdlProcessHandle, (TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY), hdlTokenHandle
'Get the LUID for shutdown privilege.
LookupPrivilegeValue "", "SeShutdownPrivilege", tmpLuid
tkp.PrivilegeCount = 1 ' One privilege to set
tkp.Privileges(0).pLuid = tmpLuid
tkp.Privileges(0).Attributes = SE_PRIVILEGE_ENABLED
'Enable the shutdown privilege in the access token of this process.
AdjustTokenPrivileges hdlTokenHandle, False, tkp, Len(tkpNewButIgnored), _
tkpNewButIgnored, lBufferNeeded
End Sub'窗体代码
'放一个定时器
Private Sub Timer1_Timer()
If Hour(Now) = i Then
'win2000
AdjustToken
ExitWindowsEx EWX_POWEROFF, 0
'win98
ExitWindowsEx EWX_SHUTDOWN, 0
End If
End Sub
end if