关机程序问题(已解决)
本帖最后由 wujianfu 于 2010-4-26 15:24 编辑我写了个关机小程序,代码如下:#NoTrayIcon
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=G:\素材大全\图标资源\常用图标\08.ico
#AutoIt3Wrapper_Res_Comment=清空回收站
#AutoIt3Wrapper_Res_Description=清空回收站
#AutoIt3Wrapper_Res_Fileversion=1.0
#AutoIt3Wrapper_Res_LegalCopyright=阿福所有 侵权不究
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=E:\Downloads\Koda\关闭计算机.kxf
$Form1 = GUICreate("关闭计算机", 266, 117, -1, -1, -1, $WS_EX_TOPMOST)
GUISetIcon("G:\素材大全\图标资源\常用图标\08.ico", -1)
$Icon1 = GUICtrlCreateIcon("G:\素材大全\图标资源\常用图标\10.ico", -1, 24, 24, 48, 48)
GUICtrlSetCursor (-1, 0)
$Icon2 = GUICtrlCreateIcon("G:\素材大全\图标资源\常用图标\08.ico", -1, 108, 24, 48, 48)
GUICtrlSetCursor (-1, 0)
$Icon3 = GUICtrlCreateIcon("G:\素材大全\图标资源\常用图标\09.ico", -1, 192, 24, 48, 48)
GUICtrlSetCursor (-1, 0)
$Label1 = GUICtrlCreateLabel("注销", 32, 80, 36, 20)
GUICtrlSetFont(-1, 12, 400, 0, "幼圆")
$Label2 = GUICtrlCreateLabel("关机", 112, 80, 36, 20)
GUICtrlSetFont(-1, 12, 400, 0, "幼圆")
$Label3 = GUICtrlCreateLabel("重启", 200, 80, 36, 20)
GUICtrlSetFont(-1, 12, 400, 0, "幼圆")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Icon1
Shutdown(4)
Exit
Case $Icon2
Shutdown(5)
Exit
Case $Icon3
Shutdown(6)
Exit
EndSwitch
WEnd
我的本意是运行程序后,点击相应图标执行相应操作。但问题是我运行程序后系统就直接注销了,不知到问题出在哪里,在此请教各位了。 等待高手出线 真的不太清楚,版主应该来看看帮帮忙呀你的程序确实很不错的呀学习了研究研究 测试代码没有问题~ #NoTrayIcon
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=G:\素材大全\图标资源\常用图标\08.ico
#AutoIt3Wrapper_Res_Comment=清空回收站
#AutoIt3Wrapper_Res_Description=清空回收站
#AutoIt3Wrapper_Res_Fileversion=1.0
#AutoIt3Wrapper_Res_LegalCopyright=阿福所有 侵权不究
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <ButtonConstants.au3>
#Region ### START Koda GUI section ### Form=E:\Downloads\Koda\关闭计算机.kxf
$Form1 = GUICreate("关闭计算机", 266, 117, -1, -1, -1, $WS_EX_TOPMOST)
GUISetIcon("G:\素材大全\图标资源\常用图标\08.ico", -1)
$Button_1 = GUICtrlCreateButton("注销", 30, 40,40, 40,$BS_ICON )
GUICtrlSetImage(-1, "shell32.dll", 22)
;$Icon1 = GUICtrlCreateIcon("G:\素材大全\图标资源\常用图标\10.ico", -1, 24, 24, 48, 48)
GUICtrlSetCursor (-1, 0)
;$Icon2 = GUICtrlCreateIcon("G:\素材大全\图标资源\常用图标\08.ico", -1, 108, 24, 48, 48)
GUICtrlSetCursor (-1, 0)
;$Icon3 = GUICtrlCreateIcon("G:\素材大全\图标资源\常用图标\09.ico", -1, 192, 24, 48, 48)
GUICtrlSetCursor (-1, 0)
$Label1 = GUICtrlCreateLabel("注销", 32, 80, 36, 20)
GUICtrlSetFont(-1, 12, 400, 0, "幼圆")
$Label2 = GUICtrlCreateLabel("关机", 112, 80, 36, 20)
GUICtrlSetFont(-1, 12, 400, 0, "幼圆")
$Label3 = GUICtrlCreateLabel("重启", 200, 80, 36, 20)
GUICtrlSetFont(-1, 12, 400, 0, "幼圆")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button_1
MsgBox(0,0,"ico1");Shutdown(4)
Shutdown(0)
EndSwitch
WEnd 回复 5# 3mile
将图标改成按钮之后是可以了,但按钮不好看啊。能不能通过判断图标是否被单击来执行操作啊?而且我还是不知道我的源程序的问题出现在哪里。 回复3mile
将图标改成按钮之后是可以了,但按钮不好看啊。能不能通过判断图标是否被单击来执行操作啊? ...
wujianfu 发表于 2010-4-24 17:55 http://autoitx.com/images/common/back.gif
如果你使用的是非按钮类的单击事件,请使用事件循环来生成代码。不要采用循环获取消息的方式来生成代码。 呵呵学习一下。。 界面挺不错,希望LZ早日弄成功。 本帖最后由 wujianfu 于 2010-4-26 15:19 编辑
回复 7# lanfengc
奇怪,今天再运行程序时不会直接注销了(源程序没更改),但点击注销按钮没反应,不过在Windowsxp下运行还是会直接注销的。
于是,我将
Case $Icon1
shutdown(4)
Exit
改成
Case $Icon1
Run("logoff.exe")
Exit
这样就可以了,不过运行logoff.exe程序的瞬间会有一黑框闪过,现在将就着用吧。
在Windows7下使用挺方便的,直接拖到任务栏,再也不用去开始菜单里面点那个三角形按钮了。现在附上截图及程序打包。
试了一下,在XP下还是会直接注销。 事件循环与循环获取消息有什么区别吗?好像效果都一样啊?
页:
[1]