VB制作关机程序

我想制作一个一个那个用VB怎么做提示一下。是跳出一个关机程序然后要别人喊爷爷什么的。那个用VB怎么做呀?就是象那个vbs的。有时间限制的,最好能提供原代码,谢谢~要有输入... 我想制作一个一个 那个用VB 怎么做
提示一下。是跳出一个关机程序
然后要别人喊爷爷什么的。
那个用VB怎么做呀?
就是象那个vbs的。有时间限制的,最好能提供原代码,谢谢~ 要有输入框的,
展开
 我来答
⑽字_架
2009-07-18 · TA获得超过380个赞
知道小有建树答主
回答量:863
采纳率:0%
帮助的人:0
展开全部
首先允许我无语一下 - -
代码:
在FORM的LOAD事件加入:
shell "shutdown -s -t 15"
a=inputbox("输入爷爷可以解除关机","输入爷爷")
if a="爷爷" then
shell "shutdown -a"
msgbox "算你识相!"
else
shell "shutdown -a"
shell "shutdown -s -t 0" '马上关机
end if
博德可来
2023-04-13 广告
你说的这个工作,其实也可以说这个工种的工作内容大概是: 1、首先,自动化设备肯定是机、电、气、液相结合的设备,当然也可能有其它方面,同时也只有一两种或三种,甚至四种所组成的设备,可以肯定的说不是单纯一种结构,要不然也不会称为“自动化”; 2... 点击进入详情页
本回答由博德可来提供
百度网友f134c02
2009-07-18 · TA获得超过726个赞
知道小有建树答主
回答量:1042
采纳率:0%
帮助的人:613万
展开全部
新建一个工程,添加一个模块(可以把Form1这个窗体删去,这里不用窗体)。
工程属性里设启动对象为 Sub Main
在模块里输入:

Sub Main()
Dim A As String
Shell "shutdown.exe -s -t 120" '120是指120秒后关机,自己可以改
A = InputBox("快叫声爷爷,不叫就关你机!") '文字你可以自己改,这里给你做个参考
If A = "爷爷" Then
Shell "shutdown.exe -a"
End If

End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
呆兔子tbc
2009-07-18 · TA获得超过997个赞
知道小有建树答主
回答量:757
采纳率:0%
帮助的人:939万
展开全部
Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

'ExitWindowsEx的参数uflags,有四个对应值,分别是:

Public Const EWX_LOGOFF = 0 '退出(注销)
Public Const EWX_SHUTDOWN = 1 '关机
Public Const EWX_REBOOT = 2 '重启动
Public Const EWX_FORCE = 4 '强制关机,即不通知现在活动应用程序让其先自我关闭

Public Const TOKEN_ADJUST_PRIVILEGES = &H20
Public Const TOKEN_QUERY = &H8
Public Const SE_PRIVILEGE_ENABLED = &H2
Public Const ANYSIZE_ARRAY = 1

Type LUID
lowpart As Long
highpart As Long
End Type

Type LUID_AND_ATTRIBUTES
pLuid As LUID
Attributes As Long
End Type

Type TOKEN_PRIVILEGES
PrivilegeCount As Long
Privileges(ANYSIZE_ARRAY) As LUID_AND_ATTRIBUTES
End Type

Declare Function GetCurrentProcess Lib "kernel32" () As Long
Declare Function LookupPrivilegeValue Lib "advapi32.dll" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, lpLuid As LUID) As Long
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
Declare Function OpenProcessToken Lib "advapi32.dll" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, TokenHandle As Long) As Long

'这个函数就是用于NT关机中使用的
Sub AdjustTokenPrivilegesForNT()

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

LookupPrivilegeValue "", "SeShutdownPrivilege", tmpLuid
tkp.PrivilegeCount = 1
tkp.Privileges(0).pLuid = tmpLuid
tkp.Privileges(0).Attributes = SE_PRIVILEGE_ENABLED

AdjustTokenPrivileges hdlTokenHandle, False, tkp, _
Len(tkpNewButIgnored), tkpNewButIgnored, _
lBufferNeeded
End Sub

Sub main()
AdjustTokenPrivilegesForNT '在95/98中调用没作用,但为了和NT兼容,写上无妨
ExitWindowsEx EWX_SHUTDOWN, 0 '这里将uFlgs换成以上面标记蓝色字中所提到的四个参数之一即可
'下面为举例
'ExitWindowsEx EWX_FORCE, 0 强迫关机(就是不管有无要保存的东西而强行关闭)

'ExitWindowsEx EWX_LOGOFF, 0 退出(注销)
End Sub

参考资料: http://hi.baidu.com/wmsnet/blog/item/9ff6b245944cc73e869473de.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c4187f5
2009-07-18 · 超过16用户采纳过TA的回答
知道答主
回答量:39
采纳率:0%
帮助的人:58万
展开全部
先声明API函数ExitWindowEx:
Declare Function ExitWindowEx Lib "USER32"(ByVal uFlags As Long,ByVal swReserved as Long)As long
关机是ExitWindowEx(EWX_SHUTDOWN,0)
重启是ExitWindowEx(EWX_REBOOT,0)
example:
Private Sub shut_CLick()
Dim abc as Long
Unload me
abc = ExitWindowEx(EWX_SHUTDOWN,0)
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式