简单编程为系统添加透明锁的操作方法 (系统编程入门)
整理分享简单编程为系统添加透明锁的操作方法 (系统编程入门),希望有所帮助,仅作参考,欢迎阅读内容。

内容相关其他词:系统编程用什么语言,系统编程怎么做,编程的系统,怎么编写系统程序,系统编程入门,编程的系统,系统编程怎么做,简单编程为系统编程,内容如对您有帮助,希望把内容链接给更多的朋友!
一,编写脚本 我们这里开发有趣的*锁定程序,同一般的锁屏程序不一样,其具有两个特点,其一是界面新颖,可以产生透明变色锁定效果。其二是解锁方式特殊,采用的是多键位同时点击的解锁方式,其优点是您可以任意组合字母键,数字键,鼠标键,以及各种控制键,让别人无从pojie。运用AutoHotKey,我们只需编辑区区几行程序,就可以实现上述复杂的功能。打开Win资源管理器,任选一个文件夹,在空白处点击右键,在弹出菜单中依次选择菜单“新建”一“AutoHotkeyScript”,在当前路径下新建一个AutoHotKey脚本文件,将其改为合适的名字(例如“LockPC.ahk”)。在该文件的右键菜单中选中“EditScript”。二.程序原理介绍 之后保存该“LockPC.ahk”文件即可,为了便于分析程序,在所有的代码行底部都添加注释语句,在AutoHotKey中,运用分号来标识注释语句。该程序的运行原理非常简单,首先创建一个和桌面大小相同的,没有边框和标题栏的窗口,并且可以设置本程序窗口的透明度。之后将本程序窗口设置为最顶端,覆盖在所有桌面窗口之上。这样让桌面是透明的,实际上本程序已经取得了*的控制权。之后激活两个定时器程序,其中名称为“Check”的定时器作用是不间断检测是否按下预设键位,如果按下的话,可以为*解锁。“Color”定时器的作用是每隔毫秒将窗口的颜色随机设置,产生透明变色的锁定效果。为了防止别人运用各种控制键键退出本程序,还对各种*控制按键进行了*。三,程序的编译运行 在该“LockPC.ahk”文件的右键菜单上点击“CompileScript”项,执行该脚本的编译*作,之后在同一路径下生成“LockPC.exe”文件。该程序可以*运行。当运行该程序后,*立即被锁定,同时产生让Win产生透明变色的效果,只有按下预设组合键位,本例为同时按下“c”,“x”,“1”键(您可以任意修改按键组合),才可以为*解锁。本程序可以*常用的控制键,防止别人非法解锁。为了防止别人重新开机,最好将程序放置到*启动项中,让*启动后自动锁定。四,关键程序行分析 在以上程序中已经添加了比较详细的注释,理解起来很容易,下面只对关键的程序行进行单独讲解。 在第3行中的“A_ScreenHeight”关键字代表屏幕的高度【但不包括任务栏),将其加上来设置本程序窗口高度,这样可以让本窗口完成覆盖整个屏幕。 从第4行到第7行用来设置本程序窗口的特征,包括取消*菜单,设置本程序字体为,在本程序左上角添加提示信息,以及显示本程序窗口等。 其中运用到了“GUI”函数,该函数是AutoHotKey的关键函数之一,功能很复杂,带有很多参数,这里仅仅运用了其一些常用参数。例如“Gui-SysMenu”语句表示禁用*菜单,其中的“一”号表示禁用某项功能。 “GuiFont,s”语句作用是设置本窗口字体大小,在“s”字符后面跟随字体的大小,这里为。“GuiAdd,Text,cFFFFFFxy,*已经被锁定,请输入正确密码解锁”语句的作用是在本窗口预设位置显示提示文本信息。其中的“Add”参数表示添加对象,“Text”参数表示添加的对象为文本,“cFFFFFF”表示文本颜色,其中的“c”符号后面跟随具体的颜色值。“x”,“y”参数后面跟随文本显示的坐标点。“GuiShow,w%A_ScreenWidth%h%Height%,Lock3d”语句的用来显示本程序,其中的“Show”参数表示让本程序窗口真正显示,“w”,“h”参数用来指明本程序窗口的宽度和高度,“AScreenWidth”关键字代表屏幕宽度,其前后两个“%”表示该关键字的数值。“Lock3D”表示本窗口的标题名。 第8行“WinSetTransparem,,,Lock3d”语句的作用是设置本程序窗口的透明度,“WinSet”函数可以设置指定窗口的各项参数,“Transparent”参数用来设置目标窗口的透明度,其后面跟随透明度参数,范围从1到,依次实现从完全透明到完全不透明,您可以需要进行设置,本例设置为,产生半透明效果,最后一个参数是目标窗日的名称,这里的“Lock3d”就是本程序窗口标题名。 第9行“WinSetAlwaysOnTop,On,Lock3d”语句的作用是将本窗口置顶显示,“AlwaysOnTop”参数表示执行置顶*作,“On”参数表示激活窗口置顶功能,最后面跟随目标窗口标题名。 第和第行设置了两个定时器,其中的“SetTimer”函数用来设置定时器,后跟定时器的名称和间隔的时间。 第行到第行表示“Color”定时器的代码,其中的“Check:”表示该定时器的运行起点,注意其后面必须跟随“:”符号,当遇到Return关键宇或者下一个定时器标签后表示本定时器代码结束。 语句“RandomRand,-,”的作用是从-到中随机取数,其中的“Random”函数用来产生随机数,“Rand”参数保存取得的随机数,“-,”表示随机数取值范围。语句“GuiCojor,o/oRand%”的作用是将取得的随机数设置本程序窗口的颜色,因为该定时器每隔毫秒运行一次因此会产生窗口变色的动态效果。 第行“Check:”语匀设置“Check”定时器标签,其中的“if(GetKeyStareilc””&&(GetKeyState(”x”))&&‘(GetKeyState(rJl-语句用来判断是否同时按下预设按键,这里为同时按下CXL键。其中的GetKevStaiet按键名称用来取得目标键是否处于按下状态,如果按下就返回。True”,否则为“False”。 当然,这里只是简单举例,您可以任意设置自己所需的按键组合,AutoHotKey支持的键位列表可以参见帮助文档,例如“if(GetKeyState(”c”))&&(GetKeyState(”x”))&&(GetKeyState("RButton”))&&(GetKeyState(”LButton”))”语句可以判断是否按下“c”,“x”,鼠标左键和鼠标右键。if(GetKeyState(”c”))&&(GetKeyState(”x”))&&(GetKeyState(”Enter”))&&(GetKeyState(”Backspace”))”语句可以判断是否按下“c”,“x”,回车和退格键。因为键盘上的按键众多,可以产生成百上千的键位组合,想pojie几乎不可能。 第行“gotoGuiClose”跳转到“GuiClose”标签处,用来关闭本锁定程序。 第行到行用来检测桌面是否激活,如果激活的话,就将其隐藏,防止别人随意解锁。其中的“IfWinExist”函数用来检测目标窗口是否存在,“ahk_class#”用来设定窗口类名,其中的“#”表示桌面窗口句柄。“WinHide”函数用来隐藏桌面。当桌面隐藏后,将变量Z的值设置为1。从行到行用来*常用的控制键(例如“CtrI+Alt+Delete”,“Alt+Tab”等),防止别人非法结束本锁定程序。这里列举了很多常用控制键,注意其中的“”符号,该符合和目标热键组合运用,表示通配键位,例如“*TAB::”就表示所有和“TAB”关联运用的按键组合,例如“Alt+TAB”,“Ctrl+Alt+Tab”等等,这样可以产生批量控制按键的作用。当然,这里只是列举了常用的*键,您可以将所有需要*的按键添加进来,具体的键位名称可以参见AutoHotKey版主文档。实际上,这里的程序已经可以*激活所有的控制键。 注意在热键的后面必须跟随“::”符号,表示当该键按下后,执行的处理语句。这里没有任何语句,只包含“Return”关键字,表示当按下以上控制键时,不执行任何*作,从而实现*按键的效果。 第到行表示推出代码,当按下预设键位后,执行该处的语句,“ifZ=l”语句表示桌面是否隐藏,如果隐藏的话,运用“WinShowahk_class#”语句激活桌面,“WinShow”函数表汞显示目标窗口。最后运用“Exitapp”结束本程序,完成解锁。