vb6 的关机代码
Public Const SE_PRIVILEGE_ENABLED As Integer = &H2
Public Const
TOKEN_QUERY As Integer = &H8
Public Const TOKEN_ADJUST_PRIVILEGES As
Integer = &H20
Public Const SE_SHUTDOWN_NAME As String =
"SeShutdownPrivilege"
Public Const EWX_LOGOFF As Integer = &H0
'注销计算机
Public Const EWX_SHUTDOWN As Integer = &H1 '关闭计算机
Public Const
EWX_REBOOT As Integer = &H2 '重新启动计算机
Public Const EWX_FORCE As Integer =
&H4 '关闭所有进程,注销计算机
Public Const EWX_POWEROFF As Integer =
&H8
Public Const EWX_FORCEIFHUNG As Integer = &H10
Public Const
SPI_GETWORKAREA = &H30
Private Type Luid
dwLowPart As Long
dwHighPart As Long
End
Type
Private Type LUID_AND_ATTRIBUTES
udtLUID As Luid
dwAttributes
As Long
End Type
Private Type TokPriv1Luid
Count As Integer
Luid As Luid
Attr As Integer
End Type
Private Declare Function ExitWindowsEx Lib "user32" _
(ByVal dwOptions As
Long, _
ByVal dwReserved As Long) As Long
Private Declare Function GetCurrentProcess Lib "kernel32" () As Long
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
TokPriv1Luid, _
ByVal BufferLength As Long, _
PreviousState As Any,
_
ReturnLength As Long) As Long
Private Sub DoExitWin(ByVal flg As Integer)
Dim xc As Boolean
'判断语句
Dim tp As TokPriv1Luid
Dim hproc As Long
hproc =
GetCurrentProcess()
'调用进程值
Dim htok As Long
htok =
0
xc = OpenProcessToken(hproc, TOKEN_ADJUST_PRIVILEGES Or
TOKEN_QUERY, htok)
tp.Count = 1
tp.Attr =
SE_PRIVILEGE_ENABLED
xc = LookupPrivilegeValue(vbNullString,
SE_SHUTDOWN_NAME, tp.Luid)
xc = AdjustTokenPrivileges(htok, False, tp,
ByVal 0&, ByVal 0&, ByVal 0&)
xc = ExitWindowsEx(flg,
0)
End Sub
Public Sub Reboot()
Dim flg As Integer
flg = EWX_FORCE Or
EWX_REBOOT
DoExitWin flg '重新启动计算机
End Sub
Public Sub PowerOff()
Dim flg As Integer
flg = EWX_FORCE Or
EWX_POWEROFF
DoExitWin flg '关闭计算机
End Sub
Public Sub Logout()
Dim flg As Boolean
flg = EWX_FORCE Or
EWX_LOGOFF
DoExitWin flg '注销计算机
End Sub
vb6 的关机代码的更多相关文章
- C#实现注销、重启和关机代码
首先要导入对命名空间 using System.Runtime.InteropServices; 的引用 [StructLayout(LayoutKind.Sequential, Pack = 1)] ...
- VB6 如何自定义代码字体和支持鼠标滚轮
1 点击工具-选项-编辑器格式,把代码改成需要的字体和大小.(一般微软雅黑,16号字体比较好) 2 从以下网站下载VB6增强工具,可以支持鼠标滚轮代替右侧滚动条查看代码,按F3还可以切换代码窗口和 ...
- 用 C# 代码如何实现让你的电脑关机,重启,注销,锁定,休眠,睡眠
简介 本文讲述了用 C# 代码如何实现让你的电脑关机,重启,注销,锁定,休眠,睡眠. 如何实现 首先,使用 using 语句添加我们需要的命名空间: using System.Diagnostics; ...
- VB6 代码编辑页面添加支持滚轮模式
VB6 中的代码编辑页面默认是不支持滚轮模式的,这让在编辑代码时的体验很是不爽. 但在64位win10系统进行加载配置时,可能会出现问题,可用如下方法解决: http://download.micro ...
- 吐个槽,对VB6.0 还有VBS 说ByeBye
往事不堪回首,折腾了个把月的老系统,心中郁结,不吐不快.系统架构是ASP +VBS +VB6.0 + SQL Server2000, 第一个版本开发完成大概是在2000年.基本是处于交接无力,看代码就 ...
- VB6.0调用DLL
目录 第1章 VB6.0调用DLL 1 1 VC++编写DLL 1 1.1 使用__stdcall 1 1.2 使用 .DEF 文件 1 2 简单数据类型 2 2.1 传 ...
- VB6之Mandelbrot集
Mandelbrot真是上帝之作,数学之美最直观的表现. 围观wiki和百科(百度百科)上关于Mandelbrot的解释至今仍是不能理解,没办法我高数实在学得不好. 搜素到园友用F#写的一篇实现代码, ...
- python:基于tkinter的定时关机程
本人使用python3 from tkinter import* import os from PIL import Image, ImageTk root=Tk() a=Label(root,tex ...
- c# 自动关机代码
#region 关机代码 //C#关机代码 // 这个结构体将会传递给API.使用StructLayout //(...特性,确保其中的成员是按顺序排列的,C#编译器不会对其进行调整. [Struct ...
随机推荐
- UVA-536 Tree Recovery (二叉树遍历)
题目大意:给出对一棵二叉树先序遍历和中序遍历的顺序,找出后序遍历的顺序. 题目分析:无非就是对字符串的输出顺序做个变化,递归就行了. 代码如下: # include<iostream> # ...
- Zabbix SNMP OID discovery,自动发现
Unlike file system and network interface discovery, the item does not necessarily have to have “snmp ...
- bzoj2594
题解: lct维护最小生成树 首先,先对于每一条边,生成一个点,这个点连接这一条边的两个端点 点的值为边的权值 其他点的权值都是0 那么每一次查找i-j路径上面最小值,就变成查找树上路径点权最小值 按 ...
- MMAP文件内存映射
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...
- Robot Framework中使用HttpLibrary教程and中文支持
Robot Framework中使用and转参数时,默认不支持中文模式,如图场景: 会出现这种错误 FAIL : UnicodeDecodeError: 'ascii' codec can't dec ...
- Http协议——Header说明
下图是我用IE的开发人员工具截取的一个Http Request请求的Header. 下图是我用IE的开发人员工具截取的一个Http Response的Header. header常用指令 header ...
- tensorflow中 tf.reduce_mean函数
tf.reduce_mean 函数用于计算张量tensor沿着指定的数轴(tensor的某一维度)上的的平均值,主要用作降维或者计算tensor(图像)的平均值. reduce_mean(input_ ...
- ImageNet 历届冠军最新评析:哪个深度学习模型最适合你?
原文链接: https://mp.weixin.qq.com/s/I5XgYrPCCGyfV2qTI0sJhQ 深度神经网络自出现以来,已经成为计算机视觉领域一项举足轻重的技术.其中,ImageNet ...
- MacBook下配置android adb命令使用环境
想在Mac下使用android adb命令,常用的两种配置方式: 在MacBook下配置adb命令环境(方法一) 1.下载并安装IDE (android studio) 人性化的安装,直接点击下一步下 ...
- endnote x7 破解版 关联word2010/2013
方法/步骤 1 首先在已安装EndnoteX7的条件下,打开word2013在工具栏上方未见“EndnoteX7”标识,则需要将两者关联. 2 打开word左上角的“文件”,然后点开“选项” 3 ...