收藏 分销(赏)

基于Autoit3设计“自动关机”设置器_吕和乾.pdf

上传人:自信****多点 文档编号:292610 上传时间:2023-07-10 格式:PDF 页数:4 大小:2.48MB
下载 相关 举报
基于Autoit3设计“自动关机”设置器_吕和乾.pdf_第1页
第1页 / 共4页
基于Autoit3设计“自动关机”设置器_吕和乾.pdf_第2页
第2页 / 共4页
基于Autoit3设计“自动关机”设置器_吕和乾.pdf_第3页
第3页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、2023.6电脑编程技巧与维护1概述软件利用Autoit3开发,通过调用Windows的自身功能,无需注册任何控件,无需驻留内存,对系统资源的占用基本为零。通过Windows XP、Windows 7操作系统的测试,效果显著令人满意。2开发思路该项目分为两个部分,分别为实现关机功能模块和实现系统部署功能模块。2.1关机功能模块当系统到达所设定的时间时,自动运行程序,如图1所示,如果有人正在使用该机器,单击“取消”按钮就可以取消关机操作;如果无人干预,则等待10 min后自动触发关机命令。2.2系统部署功能模块开发一个部署工具,通过该工具可以将自动关机的程序部署到计算机中,并设置自动触发时间。如

2、果不想再使用自动关机功能,则可以进行撤销操作。自动关机时间设置如图2所示。3程序设计3.1关机功能程序利用Autoit所带的KODA图形编辑器进行关机程序图形界面的设计。调用工具箱中的“KODA图形编辑器”,如图3所示。进行关机程序界面设计,保存文件名为“等待窗口.kxf”,其效果如图4所示。界面设计好后,通过设计器“工具”菜单中的“生成窗体代码”工具,可以自动生成所画窗口的程序代码,将自动生成的段代码复制到SciTE编辑器,菜单位置如图5所示,然后进行后续程序的开发。程序要实现的功能是,当按下“Esc”键或单击“取消”按钮时,程序自动关闭不执行关机命令;当按下“Y”键或单击“确定”按钮时,立

3、即触发关机功能。因程序中要检测的键被按下,程序头部分要引入“#include”程序,完整代码如下,保存文件基于 Autoit3 设计“自动关机”设置器吕和乾,韩轶,李艳(国家税务总局威海市税务局,山东 威海264200)摘要:下班后关闭计算机一直是企事业单位强调的日常管理内容之一。及时关闭计算机不仅可以节约大量的能源,也可以避免一些安全事故的发生,但现实中经常有人会因为疏忽或其他原因而忘记关闭计算机。由此可以看出传统的管理理念并不能做到 100%无疏漏,所以转人工管理为计算机智能管理,本着节约能源、加强安全管理的原则,设计并开发了“自动关机设置器”助手软件。关键词:自动关机;Autoit3 系

4、统;At 命令;Schedule图1自动运行程序图2自动关机时间设置图3调用工具箱中的“KODA图形编辑器”图4保存文件名效果图5菜单位置130DOI:10.16184/prg.2023.06.0482023.6电脑编程技巧与维护名为“msggj.au3”。#include#include#include#include#include#region#START Koda GUI section#Form=d:自动关机设置器等待窗口.kxf$Form1_1=GUICreate(自动关机信息提示,532,219,192,114)$lb_time=GUICtrlCreateLabel(等待10:0

5、0 min即将自动关机,72,40,404,37)GUICtrlSetFont(-1,24,400,0,黑体)GUICtrlSetColor(-1,0 xFF0000)$bt_cancel=GUICtrlCreateButton(取消【ESC】,314,122,123,41)GUICtrlSetFont(-1,12,400,0,黑体)$bt_ok=GUICtrlCreateButton(确定【Yes】,103,122,123,41)GUICtrlSetFont(-1,12,400,0,黑体)GUISetState(SW_SHOW)#endregion#END Koda GUI section#

6、Local$hDLL=DllOpen(user32.dll)Local$hTimer=TimerInit()Local$iDiffWhile 1If _IsPressed(1B,$hDLL)Then;Esc键被按下后程序自动退出ExitLoopElseIf _IsPressed(59,$hDLL)Then;Y键被按下后程序自动运行关机函数down()ExitLoopEndIf$iDiff=TimerDiff($hTimer);检测时间间隔是否大;于10 min,如果大于则执行自动关机函数If$iDiff=600000 Thendown()ExitLoopEndIf$nMsg=GUIGetMsg

7、()Switch$nMsgCase$GUI_EVENT_CLOSEExitLoopCase$bt_cancelExitLoopCase$bt_okdown()ExitLoopEndSwitchWEndDllClose($hDLL)Exit;自动关机函数Func down()$file=FileOpen(WindowsDir&msgdown.bat,10)FileWriteLine($file,shutdown-s-f&CRLF)FileClose($file)Sleep(100)RunWait(WindowsDir&msgdown.bat,WindowsDir,SW_HIDE)Sleep(10

8、0)FileDelete(WindowsDir&msgdown.bat)Sleep(100)EndFunc;=down代码中down()函数实现自动关机功能,实现原理是通过自动生成一个名为“msgdown.bat”的批处理文件,让其调用Windows的shutdown命令,强制计算机立即关机。关于“shutdown-s-f”命令在此不再进行详细介绍。If _IsPressed(1B,$hDLL)Then;Esc键被按下后程序自动退出ExitLoopElseIf _IsPressed(59,$hDLL)Then;Y键被按下后程序自动运行关机函数down()ExitLoopEndIf该段代码实现按

9、键检测,当“Esc”键被按下后程序自动退出,“Y”键被按下后程序自动运行关机函数down(),实现关机操作。$iDiff=TimerDiff($hTimer);检测时间间隔是否大于10minIf$iDiff=600000 Then;如果大于则执行自动关机函数down()ExitLoopEndIf该段程序代码实现检测等待时间是否大于10 min,如果大于则执行down()函数,实现关机操作。编译程序,生成可执行文件msggj.exe。到此,自动关机程序模块已经开发完毕,可以双击,单击图1中的“确定”按钮或按下“Y”键测试程1312023.6电脑编程技巧与维护序的关机功能,会看到如图6所示正在关机

10、的界面。第1部分功能模块开发完毕,编译好的“msggj.exe”文件由部署模块调用。3.2系统部署功能程序该部分程序设计的目的是有一个好的用户体验,既可以设置部署也可取消部署。在图2中输入每天要执行自动关机的时间(注意:时间要求为24h制,时间和分钟由英文冒号间隔),然后单击“设置”按钮即可对系统进行自动设置和部署,实现每天的自动关机功能;另外只需单击“取消”按钮即可撤销自动关机的功能。调用Autoit工具箱中的“KODA图形编辑器”,进行系统部署程序界面设计,保存文件名为“自动关机设置器窗口.kxf”,如图7所示。通过“生成窗体代码”工具,自动生成界面程序代码,然后复制到SciTE编辑器,进

11、行后续程序代码编写,文件命名为“自动关机.au3”,设置功能模块的完整代码如下。#include#include#include#include#include;装入文件,运行后释放到windows目录,并覆盖;这里D:自动关机设置器msggj.exe指明msggj.exe;所在路径FileInstall(D:自动关机 设 置 器msggj.exe,Win-dowsDir&msggj.exe,1)#region#START Koda GUI section#Form=d:自动关机设置器自动关机.kxf$Form1_1=GUICreate(自动关机设置小助手,435,162,192,114)$L

12、abel1=GUICtrlCreateLabel(每天自动关机的时间:,32,56,124,17);读取guanji.ini文件中的时间值,显示在打开的窗口中$Input_time=GUICtrlCreateInput(IniRead(ScriptDir&guanji.ini,setup,time,NotFound),160,50,57,21)GUICtrlSetResizing(-1,$GUI_DOCKHCENTER+$GUI_DOCKVCENTER+$GUI_DOCKHEIGHT)$Button_exit=GUICtrlCreateButton(退出,336,48,67,27)$Label

13、2=GUICtrlCreateLabel(祝应用愉快,谢谢!,208,96,217,17)GUICtrlSetColor(-1,0 xFF0000)$Button_setup=GUICtrlCreateButton(设置,227,48,51,27)$Button_cancel=GUICtrlCreateButton(取消,280,48,51,27)GUISetState(SW_SHOW)#endregion#END Koda GUI section#While 1$nMsg=GUIGetMsg()Switch$nMsgCase$GUI_EVENT_CLOSEExitCase$Button_ex

14、itExitCase$Button_setup;设置按钮setup()MsgBox(0,提示,自动关机设置完毕!)Case$Button_cancel;取消按钮cancel()MsgBox(0,提示,自动关机设置撤销完毕!)EndSwitchWEnd;设置函数Func setup()IniWrite(ScriptDir&guanji.ini,setup,time,GUICtrlRead($Input_time)$file=FileOpen(WindowsDir&sdown.bat,10)FileWriteLine($file,sc config Schedule start=AUTO)File

15、WriteLine($file,del c:windowstasksa*.*)FileWriteLine($file,sc start Schedule)FileWriteLine($file,at&GUICtrlRead($In-图6关机界面图7自动关机设置器窗口(下转第169页)1322023.6电脑编程技巧与维护put_time)&_/interactive/every:Su,M,T,W,Th,F,Sa&Win-dowsDir&msggj.exe)FileClose($file)Sleep(100)RunWait(WindowsDir&sdown.bat,Win-dowsDir,SW_H

16、IDE)Sleep(100);FileDelete(WindowsDir&sdown.bat)Sleep(100)EndFunc;=setup;取消函数Func cancel()$file=FileOpen(WindowsDir&sdown2.bat,10);FileWriteLine($file,sc config Schedule start=disabled)FileWriteLine($file,del c:windowstasksa*.*);FileWriteLine($file,sc stop Schedule)FileWriteLine($file,shutdown.exe-a)

17、FileClose($file)Sleep(100)RunWait(WindowsDir&sdown2.bat,Win-dowsDir,SW_HIDE)Sleep(100)FileDelete(WindowsDir&sdown2.bat)Sleep(100)EndFunc;=cancel这段代码首先是调用FileInstall函数,将前面编译好的“msggj.exe”文 件,包 含 到 该 段 代 码 编 译 后 的“自动关机设置器.exe”程序中,并指明“自动关机设置器.exe”运行后,采用覆盖模式先释放到Windows目录下,类似“自动解压缩到”的释放模式。语句:FileInstall(D

18、:自动关机设 置 器msggj.exe,Win-dowsDir&msggj.exe,1)(1)设置函数setup()。设置函数的功能是即时生成一个“sdown.bat”批处理文件,通过隐藏执行批处理文件,开启自动计划任务服务(Task Scheduler服务),调用Windows的At命令设置每天在固定的时间点执行Windows目录下的关机程序“msggj.exe”,以实现自动关机功能。“sc config Schedule start=AUTO”命令是配置开启计划任务服务。(2)取消函数cancel()。当想撤销机器自动关机功能时,则可以在程序中调用该函数,将“tasks”目录中的计划任务删

19、除。取消后计划任务将不再执行。编译生成可执行文件“自动关机设置器.exe”。至此,整个项目开发完毕。对外发布只有两个文件,如图8所示。4结语程序的特点是简单易用,设置灵活,无任何第三方控件。设置成功后,就不依赖于该程序,绿色环保,对系统资源占用低。与网上的同类程序相比不需要程序时刻运行,删除后仍保留自动关机功能。图8对外发布两个文件与前述先进方法对比,实验方法(SACF)将均方根误差从15.22降至14.69。实验结果表明,提出的SACF模型能够对时空特征进行注意力加权建模,这大大优于现有技术。5结语构建了一个自注意力记忆模块来捕捉空间和时间维度上的长程依赖。在TaxiBJ数据集上进行的实验表

20、明,与现有预测方法相比,该模型具有良好的预测性能,可以从历史人群流量图中推断未来人群流量的演变。参考文献1ZHENG Y.Trajectory data mining:an overview J.ACM transactions on intelligent systems and technolo-gy(TIST),2015,6(3):1-41.2ZHANG J,ZHENG Y,QI D.Deep spatio-temporalresidual networks for citywide crowd flows predictionC/AAAI.Proceedings of the AAAI

21、 conference onartificial intelligence,San Francisco:AAAI,2017.3ZHANG S,WU G,COSTEIRA J P,et al.Fcn-rlstm:Deep spatio-temporal neural networks for vehicle count-ing in city cameras C/IEEE Proceedings of the IEEEinternational conference on computer vision,New York:IEEE,2017.4LIU L,ZHEN J,LI G,et al.Dynamic spatial-temporalrepresentation learning for traffic flow prediction J.IEEE Transactions on Intelligent Transportation Sys-tems,2020,22(11):7169-7183.(上接第132页)169

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服