找回密码
 加入
搜索
查看: 5475|回复: 11

[GUI管理] 关机程序问题(已解决)

 火.. [复制链接]
发表于 2010-4-24 12:18:28 | 显示全部楼层 |阅读模式
本帖最后由 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
我的本意是运行程序后,点击相应图标执行相应操作。但问题是我运行程序后系统就直接注销了,不知到问题出在哪里,在此请教各位了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-4-24 12:33:14 | 显示全部楼层
等待高手出线
发表于 2010-4-24 12:58:25 | 显示全部楼层
真的不太清楚,版主应该来看看帮帮忙呀你的程序确实很不错的呀学习了研究研究
发表于 2010-4-24 13:21:02 | 显示全部楼层
测试代码没有问题~
发表于 2010-4-24 13:30:00 | 显示全部楼层
#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

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

 楼主| 发表于 2010-4-24 17:55:23 | 显示全部楼层
回复 5# 3mile
将图标改成按钮之后是可以了,但按钮不好看啊。能不能通过判断图标是否被单击来执行操作啊?而且我还是不知道我的源程序的问题出现在哪里。
发表于 2010-4-24 18:12:02 | 显示全部楼层
回复  3mile
将图标改成按钮之后是可以了,但按钮不好看啊。能不能通过判断图标是否被单击来执行操作啊? ...
wujianfu 发表于 2010-4-24 17:55



    如果你使用的是非按钮类的单击事件,请使用事件循环来生成代码。不要采用循环获取消息的方式来生成代码。

评分

参与人数 1金钱 +15 收起 理由
afan + 15

查看全部评分

发表于 2010-4-25 08:23:31 | 显示全部楼层
呵呵学习一下。。
发表于 2010-4-25 11:27:54 | 显示全部楼层
界面挺不错,希望LZ早日弄成功。
 楼主| 发表于 2010-4-26 15:15:13 | 显示全部楼层
本帖最后由 wujianfu 于 2010-4-26 15:19 编辑

回复 7# lanfengc
奇怪,今天再运行程序时不会直接注销了(源程序没更改),但点击注销按钮没反应,不过在Windowsxp下运行还是会直接注销的。
于是,我将
                Case $Icon1
                        shutdown(4)
                        Exit
改成               
                     Case $Icon1
                        Run("logoff.exe")
                        Exit

这样就可以了,不过运行logoff.exe程序的瞬间会有一黑框闪过,现在将就着用吧。
在Windows7下使用挺方便的,直接拖到任务栏,再也不用去开始菜单里面点那个三角形按钮了。现在附上截图及程序打包。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2010-4-26 15:48:44 | 显示全部楼层
试了一下,在XP下还是会直接注销。
发表于 2010-11-14 00:45:35 | 显示全部楼层
事件循环与循环获取消息有什么区别吗?好像效果都一样啊?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-6-3 01:58 , Processed in 0.081533 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表