我想要关掉呀
解决方案 »
- 求三元方程的解,用vb编一个程序,有知道的,能给我提个思路,或者资料也行。拜谢了
- 我将一个字符串赋值给combobox控件,为何老是提示我‘text‘是只读属性。急死我了
- [软件]我写的文档管理软件
- vb如何写入、读取XML文件???高手
- 怎么用DataReport直接打印??
- form简单问题
- 昨天收到软件报稿费
- 请问各位哪里有“推(push)”技术聊天室的相关资料或源代码!?
- 多谢了!!/////在windows大字体下做的软件,在小字体下使用时出现窗体变小、控件重叠,如何解决(窗体不变,控件无重叠)?by the way各位习惯用哪种字体呀?
- 如何用记录集初始化非绑定的网格控件
- 有谁熟悉用ADO的COMMAND去调用存储过程?帮忙看一下,错那里了.
- VB 6.0 如何调用外部程序
Private Const TOKEN_QUERY = &H8
Private Const SE_PRIVILEGE_ENABLED = &H2
Private Const EWX_SHUTDOWN As Long = 1
Private Const EWX_FORCE As Long = 4
Private Const EWX_REBOOT = 2
Private Type LUID
UsedPart As Long
IgnoredForNowHigh32BitPart As Long
End TypePrivate Type TOKEN_PRIVILEGES
PrivilegeCount As Long
TheLuid As LUID
Attributes As Long
End Type'关闭系统的API
Private Declare Function ExitWindowsEx Lib "user32" (ByVal dwOptions As Long, _
ByVal dwReserved As Long) As Long
'获取当前进程的一个伪句柄
'只要当前进程需要一个进程句柄,就可以使用这个伪句柄。该句柄可以复制,但不可继承。不必调用CloseHandle函数来关闭这个句柄
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long'以下为NT/2000中和权限相关的函数
'如果函数执行成功,返回非零。
Private Declare Function OpenProcessToken Lib "advapi32" (ByVal ProcessHandle As Long, _
ByVal DesiredAccess As Long, _
TokenHandle As Long) As Long
'查看权限的函数
Private Declare Function LookupPrivilegeValue Lib "advapi32" Alias "LookupPrivilegeValueA" _
(ByVal lpSystemName As String, _
ByVal lpName As String, lpLuid As LUID) As Long
'设置权限的函数
Private Declare Function AdjustTokenPrivileges Lib "advapi32" (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
Sub ExitSystem() Dim hProcessHandle As Long
Dim hTokenHandle As Long
Dim tmpLuid As LUID
Dim tkpNew As TOKEN_PRIVILEGES
Dim tkpPrevious As TOKEN_PRIVILEGES
Dim lBufferNeeded As Long hProcessHandle = GetCurrentProcess()
Call OpenProcessToken(hProcessHandle, TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, hTokenHandle) Call LookupPrivilegeValue("", "SeShutdownPrivilege", tmpLuid) tkpNew.PrivilegeCount = 1
tkpNew.TheLuid = tmpLuid
tkpNew.Attributes = SE_PRIVILEGE_ENABLED lBufferNeeded = 0
Call AdjustTokenPrivileges(hTokenHandle, False, tkpNew, Len(tkpPrevious), tkpPrevious, lBufferNeeded) Call ExitWindowsEx(EWX_SHUTDOWN, &O0)End Sub