查看: 86|回复: 0

[教程] 易语言电脑屏幕锁定工具源码

[复制链接]

4

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2010-6-14
发表于 2018-12-5 15:23:47 | 显示全部楼层 |阅读模式

DLLL命令表

.版本 2
.DLL命令 安装钩子, 整数型, , "SetWindowsHookExA"
  .参数 ihook, 整数型
  .参数 lpfunc, 子程序指针
  .参数 hin, 整数型
  .参数 threadid, 整数型
.DLL命令 卸载钩子, 整数型, , "UnhookWindowsHookEx"
  .参数 hHook, 整数型
.DLL命令 下一个钩子, 整数型, , "CallNextHookEx"
  .参数 hHook, 整数型
  .参数 icode, 整数型
  .参数 wParam, 整数型
  .参数 lParam, 整数型
.DLL命令 CopyMemory, , , "RtlMoveMemory"
  .参数 Destination, 按键信息, 传址
  .参数 Source, 整数型
  .参数 cbCopy, 整数型
.DLL命令 GetModuleHandleA, 整数型, , "GetModuleHandleA"
  .参数 lpModuleName, 整数型
.DLL命令 SetWindowPos, 整数型, "user32"
  .参数 HWnd, 整数型
  .参数 hWndInsertAfter, 整数型
  .参数 X, 整数型
  .参数 Y, 整数型
  .参数 cx, 整数型
  .参数 cy, 整数型
  .参数 wFlags, 整数型

自定义数据类型表

.版本 2
.数据类型 按键信息
  .成员 虚拟码, 整数型
  .成员 扫描码, 整数型
  .成员 标记, 整数型
  .成员 时间, 整数型
  .成员 额外信息, 整数型

锁屏框

.版本 2
.支持库 eAPI
.程序集 窗口程序集1
.程序集变量 钩子句柄, 整数型
.子程序 _编辑框_解锁密码框_内容被改变
标签2.标题 = “屏幕锁定中。。。”
标签2.文本颜色 = #银白
.子程序 _窗口1_锁屏框_创建完毕
设置窗口透明度 (取窗口句柄 (), 250)
窗口1_锁屏框.左边 = 0
窗口1_锁屏框.顶边 = 0
窗口1_锁屏框.宽度 = 取屏幕宽度 ()
窗口1_锁屏框.高度 = 取屏幕高度 ()
图片框1.左边 = 取屏幕宽度 () ÷ 2 - 图片框1.宽度 ÷ 2
图片框1.顶边 = 取屏幕高度 () ÷ 2 - 图片框1.高度 ÷ 2
注册屏蔽 ()
.子程序 窗口总在最前
.参数 参_窗口句柄, 整数型
SetWindowPos (参_窗口句柄, -1, 0, 0, 0, 0, 位或 (2, 1))
.子程序 _图形按钮1_被单击
_按钮1_被单击 ()
.子程序 _按钮1_被单击
.如果 (编辑框_解锁密码框.内容 = “”)
  标签2.标题 = “未输入密码,请重新输入!”
  标签2.文本颜色 = #红色
.否则
  .如果 (编辑框_解锁密码框.内容 = “123”)
    解除屏蔽 ()
    结束 ()
  .否则
    .如果 (编辑框_解锁密码框.内容 ≠ _启动窗口.编辑框_重复密码框.内容)
      标签2.标题 = “密码不正确,请重新输入!”
      标签2.文本颜色 = #红色
    .否则
      .如果 (编辑框_解锁密码框.内容 = _启动窗口.编辑框_重复密码框.内容)
        解除屏蔽 ()
        结束 ()
      .否则
      .如果结束
    .如果结束
  .如果结束
.如果结束
.子程序 钩子函数, 整数型
.参数 icode, 整数型
.参数 wparam, 整数型
.参数 lparam, 整数型
.局部变量 按键信息, 按键信息
CopyMemory (按键信息, lparam, 30)
.如果真 (icode = 0)
  .如果真 (按键信息.虚拟码 = 91 或 按键信息.虚拟码 = 92) ' 屏蔽Win键
    .判断开始 (wparam = 256)
      输出调试文本 (“按下Win键!”)
    .默认
      输出调试文本 (“弹起Win键!”)
    .判断结束
    返回 (1)
  .如果真结束
  .如果真 (按键信息.虚拟码 = 27 且 按键信息.扫描码 = 1) ' 屏蔽crlt+Esc
    返回 (1)
  .如果真结束
  .如果真 (按键信息.虚拟码 = 115 且 按键信息.扫描码 = 62) ' 屏蔽alt+f4
    返回 (1)
  .如果真结束
  .如果真 (按键信息.虚拟码 = 9 且 按键信息.扫描码 = 15) ' 屏蔽alt+TAB
    返回 (1)
  .如果真结束
  .如果真 (按键信息.虚拟码 = 32 且 按键信息.扫描码 = 57) ' 屏蔽crlt+空格 左边
    返回 (1)
  .如果真结束
  .如果真 (按键信息.虚拟码 = 161 且 按键信息.扫描码 = 54) ' 屏蔽crlt+空格 右边
    返回 (1)
  .如果真结束
  .如果真 (按键信息.虚拟码 = 160 且 按键信息.扫描码 = 42) ' 屏蔽crlt+SHIFT
    返回 (1)
  .如果真结束
  .如果真 (按键信息.虚拟码 = 46 且 按键信息.扫描码 = 83) ' 屏蔽CAL_DEL_ALT
    返回 (1)
  .如果真结束
.如果真结束
返回 (下一个钩子 (钩子句柄, icode, wparam, lparam))
.子程序 注册屏蔽
.如果真 (钩子句柄 = 0)
  钩子句柄 = 安装钩子 (13, &钩子函数, GetModuleHandleA (0), 0)
  .如果 (钩子句柄 ≠ 0)
    输出调试文本 (“注册钩子成功!”)
  .否则
    输出调试文本 (“注册钩子失败!”)
  .如果结束
.如果真结束
.子程序 解除屏蔽
.如果真 (钩子句柄 ≠ 0)
  .如果 (卸载钩子 (钩子句柄) ≠ 0)
    输出调试文本 (“缷载钩子成功!”)
  .否则
    输出调试文本 (“缷载钩子失败!”)
  .如果结束
.如果真结束
.子程序 _时钟1_周期事件
窗口总在最前 (取窗口句柄 ())

锁屏

.版本 2
.支持库 eAPI
.程序集 窗口程序集2
.子程序 __启动窗口_创建完毕
设置窗口透明度 (取窗口句柄 (), 245)
.子程序 _图形按钮1_被单击
_按钮1_被单击 ()
.子程序 _按钮1_被单击
.如果 (编辑框_密码框.内容 ≠ 编辑框_重复密码框.内容)
  标签_提示.标题 = “密码不一致,请重新输入!”
  标签_提示.文本颜色 = #红色
.否则
  .如果 (编辑框_密码框.内容 = “”)
    标签_提示.标题 = “未输入密码,请重新输入!”
    标签_提示.文本颜色 = #红色
  .否则
    _启动窗口.可视 = 假
    载入 (窗口1_锁屏框, , 真)
  .如果结束
.如果结束
.子程序 _编辑框_密码框_内容被改变
标签_提示.标题 = “请输入密码后继续:”
标签_提示.文本颜色 = #白色
.子程序 _编辑框_重复密码框_内容被改变
标签_提示.标题 = “请输入密码后继续:”
标签_提示.文本颜色 = #白色
.子程序 _图形按钮_最小化_被单击
_启动窗口.位置 = 2
.子程序 _图形按钮_关闭_被单击
销毁 ()

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对琼殿技术社区的支持。如果你想了解更多相关内容请查看下面相关链接

您可能感兴趣的文章:
  • 易语言制作DNF解封源码
  • 易语言超级列表框表项关键字搜索代码示例
  • 易语言赋值定义多维数组的代码实例
  • 易语言制作黑客小程序源码
  • 易语言表白网页生成器源码
  • 易语言将电脑任务栏透明化的代码
  • 易语言获取程序已运行时间的代码
  • 易语言枚举所有子窗口讲解
  • 易语言制作英雄联盟辅助的源码
  • 易语言地下城与勇士辅助剧情类源码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部