VB里面单击按钮运行程序

我想设计一个定时关机的程序,按下按钮运行“shutdown.exe-s-t10-c即将关机”,请问如何在VB里面编写代码?顺便问一下,不用shutdown.exe还有什么... 我想设计一个定时关机的程序,按下按钮运行“shutdown.exe -s -t 10 -c 即将关机”,请问如何在VB里面编写代码?
顺便问一下,不用shutdown.exe还有什么别的办法实现关机?
展开
 我来答
百度网友4684e1e
2012-02-24 · TA获得超过2309个赞
知道小有建树答主
回答量:1266
采纳率:0%
帮助的人:549万
展开全部
Shell () 函数额可以调用第三方程序。 shutdown是windows管理关机的程序,直接调用
Shell "cmd.exe /c shutdown -s -t 10 -c"

另外,你说要别的办法,用windows API: ExitWindowsEx
ExitWindowsEx需要获取权限

主要代码:
Private Sub Form_Load()
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()
OpenProcessToken hProcessHandle, TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, hTokenHandle
LookupPrivilegeValue "", "SeShutdownPrivilege", tmpLuid
tkpNew.PrivilegeCount = 1
tkpNew.TheLuid = tmpLuid
tkpNew.Attributes = SE_PRIVILEGE_ENABLED
lBufferNeeded = 0
'允许当前应用程序有关闭操作系统的权限
AdjustTokenPrivileges hTokenHandle, False, tkpNew, Len(tkpPrevious), tkpPrevious, lBufferNeeded
End Sub
Private Sub Command1_Click()
'重新启动计算机
ExitWindowsEx EWX_REBOOT, 0
End Sub
Private Sub Command2_Click()
'关闭计算机
ExitWindowsEx EWX_FORCE Or EWX_SHUTDOWN, 0
End Sub
Private Sub Command4_Click()
ExitWindowsEx EWX_LOGOFF, 0
End Sub
追问
这是怎么回事?
zx001z7d53
2012-02-24 · TA获得超过2万个赞
知道大有可为答主
回答量:2.4万
采纳率:52%
帮助的人:5607万
展开全部
Private Sub Command1_Click()
Shell "shutdown.exe -s -t " & Text1.Text
End Sub
追问
顺便问:如果我要运行一个程序如QQ.exe该怎么办呢?
追答
Shell "C:\Program Files\Tencent\QQ\Bin\QQ.exe"
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
苏州老三石
2012-02-24 · TA获得超过1150个赞
知道小有建树答主
回答量:1300
采纳率:33%
帮助的人:937万
展开全部
在按钮事件里写:
Shell "cmd.exe /c shutdown -s -t 10 -c"
追问
如果我要运行一个程序如QQ.exe该怎么办呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
960310983
2012-02-24 · TA获得超过352个赞
知道小有建树答主
回答量:867
采纳率:0%
帮助的人:209万
展开全部
shell "shutdown.exe -s -t 10 -c 即将关机"
追问
顺便问:如果我要运行一个程序如QQ.exe该怎么办呢?
追答
把shutdown.exe -s -t 10 -c 即将关机 改成需要执行的文件的路径和文件名即可,
如:D:\.....\QQ.EXE
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
练金范姜念露
2019-12-13 · TA获得超过1196个赞
知道小有建树答主
回答量:1596
采纳率:90%
帮助的人:8.6万
展开全部
如果你的那个图标

菜单的位置是固定不变的话,可以用
api函数
public
declare
function
setcursorpos
lib
"user32"
(byval
x
as
long,
byval
y
as
long)
as
long‘这个函数可以讲鼠标移动到任意(x,y)位置
public
declare
sub
mouse_event
lib
"user32"
(byval
dwflags
as
long,
byval
dx
as
long,
byval
dy
as
long,
byval
cbuttons
as
long,
byval
dwextrainfo
as
long)’模拟鼠标单击
先找到你那个图标和菜单的位置x
和y,然后
dim
ret
as
long
ret=setcursorpos(x,y)'移动到那个位置
mouse_event(&h2,
0,
0,
0,
0)'鼠标左键按下
mouse_event(&h4,
0,
0,
0,
0)‘鼠标左键弹起
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式