zoukankan
html css js c++ java
VB.NET 2005重启/关机程序
Imports
System.Runtime.InteropServices
Imports
Microsoft.VisualBasic
Public
Class Form1
Class
Form1
<
DllImport(
"
kernel32.dll
"
, ExactSpelling:
=
True
)
>
_
'
调用系统参数
Friend
Shared
Function GetCurrentProcess()
Function
GetCurrentProcess()
As
IntPtr
End Function
<
DllImport(
"
advapi32.dll
"
, ExactSpelling:
=
True
, SetLastError:
=
True
)
>
_
Friend
Shared
Function OpenProcessToken()
Function
OpenProcessToken(
ByVal
h
As
IntPtr,
ByVal
acc
As
Integer
,
ByRef
phtok
As
IntPtr)
As
Boolean
End Function
<
DllImport(
"
advapi32.dll
"
, SetLastError:
=
True
)
>
_
Friend
Shared
Function LookupPrivilegeValue()
Function
LookupPrivilegeValue(
ByVal
host
As
String
,
ByVal
name
As
String
,
ByRef
pluid
As
Long
)
As
Boolean
End Function
<
DllImport(
"
advapi32.dll
"
, ExactSpelling:
=
True
, SetLastError:
=
True
)
>
_
Friend
Shared
Function AdjustTokenPrivileges()
Function
AdjustTokenPrivileges(
ByVal
htok
As
IntPtr,
ByVal
disall
As
Boolean
,
ByRef
newst
As
TokPriv1Luid,
ByVal
len
As
Integer
,
ByVal
prev
As
IntPtr,
ByVal
relen
As
IntPtr)
As
Boolean
End Function
<
DllImport(
"
user32.dll
"
, ExactSpelling:
=
True
, SetLastError:
=
True
)
>
_
Friend
Shared
Function ExitWindowsEx()
Function
ExitWindowsEx(
ByVal
flg
As
Integer
,
ByVal
rea
As
Integer
)
As
Boolean
End Function
Friend
Const
SE_PRIVILEGE_ENABLED
As
Integer
=
&
H2
Friend
Const
TOKEN_QUERY
As
Integer
=
&
H8
Friend
Const
TOKEN_ADJUST_PRIVILEGES
As
Integer
=
&
H20
Friend
Const
SE_SHUTDOWN_NAME
As
String
=
"
SeShutdownPrivilege
"
Friend
Const
EWX_LOGOFF
As
Integer
=
&
H0
'
注销计算机
Friend
Const
EWX_SHUTDOWN
As
Integer
=
&
H1
'
关闭计算机
Friend
Const
EWX_REBOOT
As
Integer
=
&
H2
'
重新启动计算机
Friend
Const
EWX_FORCE
As
Integer
=
&
H4
'
关闭所有进程,注销计算机
Friend
Const
EWX_POWEROFF
As
Integer
=
&
H8
Friend
Const
EWX_FORCEIFHUNG
As
Integer
=
&
H10
<
StructLayout(LayoutKind.Sequential, Pack:
=
1
)
>
_
'
引用参数
Friend
Structure TokPriv1Luid
Structure
TokPriv1Luid
Public
Count
As
Integer
Public
Luid
As
Long
Public
Attr
As
Integer
End Structure
Private
Shared
Sub DoExitWin()
Sub
DoExitWin(
ByVal
flg
As
Integer
)
Dim
xc
As
Boolean
'
判断语句
Dim
tp
As
TokPriv1Luid
Dim
hproc
As
IntPtr
=
GetCurrentProcess()
'
调用进程值
Dim
htok
As
IntPtr
=
IntPtr.Zero
xc
=
OpenProcessToken(hproc, TOKEN_ADJUST_PRIVILEGES
Or
TOKEN_QUERY, htok)
tp.Count
=
1
tp.Luid
=
0
tp.Attr
=
SE_PRIVILEGE_ENABLED
xc
=
LookupPrivilegeValue(
Nothing
, SE_SHUTDOWN_NAME, tp.Luid)
xc
=
AdjustTokenPrivileges(htok,
False
, tp,
0
, IntPtr.Zero, IntPtr.Zero)
xc
=
ExitWindowsEx(flg,
0
)
End Sub
Public
Shared
Sub Reboot()
Sub
Reboot()
DoExitWin((EWX_FORCE
Or
EWX_REBOOT))
'
重新启动计算机
End Sub
Public
Shared
Sub PowerOff()
Sub
PowerOff()
DoExitWin((EWX_FORCE
Or
EWX_POWEROFF))
'
关闭计算机
End Sub
Public
Shared
Sub LogoOff()
Sub
LogoOff()
DoExitWin((EWX_FORCE
Or
EWX_LOGOFF))
'
注销计算机
End Sub
查看全文
相关阅读:
最小生成树之算法记录【prime算法+Kruskal算法】【模板】
hdoj 1869 六度分离【最短路径求两两边之间最长边】
la3211
codeforces round #414 div1+div2
bzoj1823
bzoj3112
bzoj1061&&bzoj3256
单纯形&&线性规划
bzoj1494
bzoj3105
原文地址:https://www.cnblogs.com/ding0910/p/1047813.html
最新文章
Codeforces 909C Python Indentation:树状数组优化dp
牛客练习赛49 B 筱玛爱阅读 (状压DP,子集生成)
第一届 山东省ACM省赛Balloons
Balloons(山东省第一届ACM省赛)
BC之jrMz and angles
BC之jrMz and angles
BC之jrMz and angles
BC之Claris and XOR
大数模板
STL之set
热门文章
第五届山东ACM大赛汇总
山东ACM省赛历届入口
hdoj 2074 叠筐
hdoj 2647 N!Again
hdoj 2816 I Love You Too
hdoj 2035 人见人爱A^B
hdoj 1047 Integer Inquiry
hdoj 1201 18岁生日
如何运用同余定理求余数【hdoj 1212 Big Number【大数求余数】】
hdoj 1002 A + B Problem II【大数加法】
Copyright © 2011-2022 走看看