易语言怎么实现锁定鼠标,锁定屏幕。只有在编辑框内输入密码才能恢复正常。求代码。。。给高分!!!

 我来答
开心茶园
2011-05-31 · 超过13用户采纳过TA的回答
知道答主
回答量:40
采纳率:0%
帮助的人:34.7万
展开全部

一、主程序:

.版本 2

.支持库 xplib

.支持库 eAPI

.支持库 EThread

.程序集 窗口程序集1

.程序集变量 低级钩子句柄, 整数型

.程序集变量 hInstance, 整数型

.程序集变量 rect, rect

.程序集变量 钩子句柄, 整数型

.程序集变量 已解锁, 逻辑型

.子程序 __启动窗口_创建完毕

XP风格 (1)

_启动窗口.左边 = 0

_启动窗口.顶边 = 0

_启动窗口.宽度 = 取屏幕宽度 ()

_启动窗口.高度 = 取屏幕高度 ()

分组框.左边 = (_启动窗口.宽度 - 分组框.宽度) ÷ 2

分组框.顶边 = (_启动窗口.高度 - 分组框.高度) ÷ 2

钩子句柄 = 安装钩子 (13, &钩子函数, GetModuleHandleA (0), 0)

hInstance = 外部_获得程序句柄 (0)

低级钩子句柄 = 安装钩子 (13, &低级钩子回调函数, hInstance, 0)

设置窗口透明度 (取窗口句柄 (), 200)

已解锁 = 假

启动线程 (&鼠标限制, )

.子程序 鼠标限制

.局部变量 hwnd

.判断循环首 (已解锁 = 假)

    _启动窗口.左边 = 0

    _启动窗口.顶边 = 0

    _启动窗口.宽度 = 取屏幕宽度 ()

    _启动窗口.高度 = 取屏幕高度 ()

    分组框.左边 = (_启动窗口.宽度 - 分组框.宽度) ÷ 2

    分组框.顶边 = (_启动窗口.高度 - 分组框.高度) ÷ 2

    rect.left = 分组框.左边

    rect.right = 分组框.左边 + 分组框.宽度

    rect.top = 分组框.顶边

    rect.bottom = 分组框.顶边 + 分组框.高度

    ClipCursor (rect)

    hwnd = GetForegroundwindow ()

    .如果真 (hwnd ≠ 取窗口句柄 ())

        SetWindowPos (hwnd, -2, 0, 0, 0, 0, 3)

        SetWindowPos (取窗口句柄 (), -1, 0, 0, 0, 0, 3)

    .如果真结束

    终止进程 (“taskmgr.exe”)

    延时 (10)

.判断循环尾 ()

.子程序 低级钩子回调函数, 整数型

.参数 nCode, 整数型

.参数 wParam, 整数型

.参数 lParam, 整数型

.局部变量 按键信息, 按键信息

CopyMemory (按键信息, lParam, 28)

.如果真 (nCode = 0)

    .如果真 (按键信息.虚拟码 ≥ 162 且 按键信息.虚拟码 ≤ 165)

        返回 (1)

    .如果真结束

    .如果真 (按键信息.虚拟码 ≥ 33 且 按键信息.虚拟码 ≤ 36)

        返回 (1)

    .如果真结束

    .如果真 (按键信息.虚拟码 ≥ 112 且 按键信息.虚拟码 ≤ 123)

        返回 (1)

    .如果真结束

    .如果真 (按键信息.虚拟码 ≥ 91 且 按键信息.虚拟码 ≤ 93)

        返回 (1)

    .如果真结束

    .如果真 (按键信息.虚拟码 ≥ 44 且 按键信息.虚拟码 ≤ 46)

        返回 (1)

    .如果真结束

    .如果真 (按键信息.虚拟码 = 27 或 按键信息.虚拟码 = 110 或 按键信息.虚拟码 = 19 或 按键信息.虚拟码 = 145)

        返回 (1)

    .如果真结束

    返回 (0)

.如果真结束

返回 (下一个钩子 (钩子句柄, nCode, wParam, lParam))

.子程序 钩子函数, 整数型

.参数 icode, 整数型

.参数 wparam, 整数型

.参数 lparam, 整数型

.局部变量 按键信息, 按键信息

CopyMemory (按键信息, lparam, 28)

.如果真 (icode = 0)

    .如果真 (按键信息.虚拟码 ≥ 162 且 按键信息.虚拟码 ≤ 165)

        返回 (1)

    .如果真结束

    .如果真 (按键信息.虚拟码 ≥ 33 且 按键信息.虚拟码 ≤ 36)

        返回 (1)

    .如果真结束

    .如果真 (按键信息.虚拟码 ≥ 112 且 按键信息.虚拟码 ≤ 123)

        返回 (1)

    .如果真结束

    .如果真 (按键信息.虚拟码 ≥ 91 且 按键信息.虚拟码 ≤ 93)

        返回 (1)

    .如果真结束

    .如果真 (按键信息.虚拟码 ≥ 44 且 按键信息.虚拟码 ≤ 46)

        返回 (1)

    .如果真结束

    .如果真 (按键信息.虚拟码 = 27 或 按键信息.虚拟码 = 110 或 按键信息.虚拟码 = 19 或 按键信息.虚拟码 = 145)

        返回 (1)

    .如果真结束

    返回 (0)

.如果真结束

返回 (下一个钩子 (钩子句柄, icode, wparam, lparam))

.子程序 _按钮1_被单击

.如果 (密码编辑框.内容 = “123”)

    已解锁 = 真

    卸载钩子 (低级钩子句柄)

    卸载钩子 (钩子句柄)

    结束 ()

.否则

    密码编辑框.获取焦点 ()

.如果结束

.子程序 _密码编辑框_按下某键, 逻辑型

.参数 键代码, 整数型

.参数 功能键状态, 整数型

.如果真 (键代码 = 13)

    _按钮1_被单击 ()

.如果真结束

二、DLL代码

.版本 2

.DLL命令 外部_获得程序句柄, 整数型, , "GetModuleHandleA"

    .参数 模块名, 整数型

.DLL命令 安装钩子, 整数型, , "SetWindowsHookExA"

    .参数 ihook, 整数型

    .参数 lpfunc, 子程序指针

    .参数 hin, 整数型

    .参数 threadid, 整数型

.DLL命令 GetModuleHandleA, 整数型, , "GetModuleHandleA"

    .参数 lpModuleName, 整数型

.DLL命令 卸载钩子, 整数型, , "UnhookWindowsHookEx"

    .参数 hHook, 整数型

.DLL命令 下一个钩子, 整数型, , "CallNextHookEx"

    .参数 hHook, 整数型

    .参数 icode, 整数型

    .参数 wParam, 整数型

    .参数 lParam, 整数型

.DLL命令 ClipCursor, , , "ClipCursor"

    .参数 lpRect, rect

.DLL命令 SetWindowPos, 整数型, , "SetWindowPos"

    .参数 a

    .参数 b

    .参数 c

    .参数 d

    .参数 e

    .参数 f

    .参数 g

.DLL命令 GetForegroundwindow, 整数型, "user32.dll", "GetForegroundWindow"

.DLL命令 CopyMemory, , , "RtlMoveMemory"

    .参数 Destination, 按键信息

    .参数 Source, 整数型

    .参数 cbCopy, 整数型

三、自定义数据类型:

.版本 2

.数据类型 rect

    .成员 left

    .成员 top

    .成员 right

    .成员 bottom

.数据类型 按键信息

    .成员 虚拟码, 整数型

    .成员 扫描码, 整数型

    .成员 标记, 整数型

    .成员 时间, 整数型

    .成员 额外信息, 整数型

米饭灬枭龙
2011-05-29 · TA获得超过124个赞
知道小有建树答主
回答量:221
采纳率:0%
帮助的人:163万
展开全部
调用APi 函数就行了,再给他加个坐标就行了,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
keysearch
2011-06-09
知道答主
回答量:20
采纳率:0%
帮助的人:11.7万
展开全部
便捷搜索,键盘鼠标锁定
搜索一下 xx-z. /keysearch/
用这个软件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式