我的u9成这样了,怎么办啊,一杂志锁屏没了怎么办就是这

查看: 1278|回复: 3
编程练习作品 -& 锁屏小工具 V3.1 【开源】
& && &&&有朋友说希望这个程序开源,那我就开源吧,只是代码写的有些乱,不太好意思拿出来。这是当初刚刚接触HOOK知识的时候写的一个练习作品,后来陆续接到网友的回馈就在该基础上升级了这个程序,但由于时间关系,没有彻底的测试过,所以就出现了各种各样的问题。这次升级,刚发布就又发现了两个BUG(得去撞墙了我。。。)&&
[color=#3112ed,strength=3);DISPLAY:inline-COLOR:text-shadow:1px]& && &开源了 我就只有一个要求,希望你们能把自己的心得都能写在本文的下面的回复,让大家都能学习学习。顺便也能鼓励鼓励我继续开源。哈哈~~ 如果回复的不错,那其他作品也会开源。另外还有一个“神器级”源码哦。。。那个作品因为只完成了基本的功能所以没有发出来。透露一下主要功能:能随意提取网络上某一个压缩文件中里面的内容。例如:有一个2G的RAR压缩包的下载地址,但是你只需要其中的一个200K的小文件,那么就可以提起那200K的文件而不用下载整个压缩包。是不是很省时很省流量呀?嘎嘎。。。 其实原理一样很简单。。。 就看你们怎么回复咯。。
& & 先说一下我当时的大概思路。
& & 首先锁屏软件:1、要有自我保护的能力,不能被轻易的被终结自身的进程
& && && && && && && && && & 2、限制用户的按键与鼠标以及拦截关键操作,这样就能保护用户的电脑受限操作,同时也能保护自身
& && && && && && && && && & 3、锁屏是由用户选择窗体界面是否透明,如用户看电影时身边有小孩,就可以把调成透明,这样即能看电影又能防止小孩乱动。
& && && && && && && && && & 4、重启后仍能直接锁屏,所以需要设置开机自启动,避免有人直接重启以绕过锁屏的限制。
& && && && && && && && && & 5、密码可以记忆,修改时需要验证,避免其他人恶意修改。(修改密码需要验证是一位网友提出的意见)
【基本的原理】
& & 键盘过滤:
& && && && && && & 早期的版本是利用键盘钩子实现过滤,但是有些热键无法拦截,例如 Win 键。后来就改用低级钩子,低级钩子可以屏蔽这些 热键,但是也一样无法拦截 Ctrl+Alt+Delete 组合键。
& & 鼠标锁定:
& && && && && && &&&鼠标锁定就更简单了,使用SetWindowPos() 这个API,让它每100毫秒就移动到指定位置,人的速度不会有这么快,能在100毫秒内操作这个鼠标,时间完全足够了。
& & 关键操作屏蔽:
& && && && && && &&&例如防止打开任务管理器等,我是采用修改注册表的形式去屏蔽的,这个方式也不太好,需要改进,最好就不要动注册表。
& & 屏幕界面:
& && && && && && &&&这个也很简单,首先取得当前屏幕的大小,然后把自身的界面设置成和当前屏幕一样的大小就能铺满整个屏幕。然后将其置顶并激活,并把光标定位在密码框。
【键盘过滤 DLL源码】
// 动态链接库.cpp : Defines the entry point for the DLL application.
#include &stdafx.h&
#include &stdio.h&
#pragma comment(linker, &/OPT:NOWIN98&)
#pragma comment(linker, &/export:DllMain=_DllMain@12&)
#define WH_KEYBOARD_LL 13
//-------------------------------------------------------
// 共享数据区
// 共享数据区中的数据在DLL被映射的进程中都是共享的
//-------------------------------------------------------
#pragma data_seg (&.shared&)
HWNDhWnd = NULL;& && && && && && &&&
#pragma data_seg ()
//#pragma comment(linker,&/SECTION:.shared,RWS&)
// 这个结构为低级键盘Hook 返回的结构 需要自定义
typedef& &struct& &tagKBDLLHOOKSTRUCT {
DWORD& &vkC
DWORD& &scanC
DWORD& &dwExtraI
}KBDLLHOOKSTRUCT,& &FAR& &*LPKBDLLHOOKSTRUCT,& &*PKBDLLHOOKSTRUCT;
HHOOKHookKeyboard = NULL;
HINSTANCE hD
DWORD P// 当前进程pid
DWORD WP// 激活窗口的pid
BOOL WINAPI APIENTRY DllMain(HINSTANCEhinstDll,
DWORD&&reason_for_call,
LPVOID lpReserved
hDll = hinstD
& & return TRUE;
LRESULT CALLBACK KeyboardHookProc( int nCode,
WPARAM wParam,
LPARAM lParam
/* VK_0 - VK_9 are the same as ASCII '0' - '9' (0x30 - 0x39)
* 0x40 : unassigned
* VK_A - VK_Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A)
*小键盘 0 - 9 (0x60 - 0x69)
*13 回车键 || 8 退格键 || 0x14 是大小写*/
return CallNextHookEx(HookKeyboard, nCode, wParam, lParam);
KBDLLHOOKSTRUCT* pKey = (KBDLLHOOKSTRUCT*)lP
int Key_vkCode = pKey-&vkC
if (wParam==WM_KEYDOWN || WM_SYSKEYDOWN&&==&&wParam)
GetWindowThreadProcessId(GetActiveWindow(), &WPid);&&// 获取当前窗口的PID
if (WPid == Pid) // 如果当前属于窗口是本进程 则不屏蔽这些按键
//if ( pKey-&vkCode &= 0x30 && pKey-&vkCode &=0x39 || pKey-&vkCode &= 0x61 && pKey-&vkCode &= 0x7A || pKey-&vkCode &= 0x41 && pKey-&vkCode &= 0x5A || pKey-&vkCode == 13 || pKey-&vkCode == 8 || pKey-&vkCode == 0x14)
if (Key_vkCode &= 0x30 && Key_vkCode &=0x5A ||
Key_vkCode &= 0x60 && Key_vkCode &=0x69 ||
Key_vkCode == 13 || Key_vkCode == 8 )// ||
//Key_vkCode == VK_CAPITAL)
if (pKey-&vkCode != 0x40)
return CallNextHookEx(HookKeyboard, nCode, wParam, lParam);
//return& & CallNextHookEx(HookKeyboard, nCode, wParam, lParam);
extern &C& __declspec(dllexport)& &BOOL SetHook(HWND hWnd)
GetWindowThreadProcessId(hWnd, &Pid);// 获取主界面的进程PID
HookKeyboard =SetWindowsHookEx(WH_KEYBOARD_LL, (HOOKPROC)KeyboardHookProc, hDll, 0);
if (HookKeyboard)
return TRUE;
return FALSE;
extern &C& __declspec(dllexport) BOOL UnHook()
if (UnhookWindowsHookEx(HookKeyboard))
return TRUE;
return FALSE;
【鼠标锁定 EXE】
void LockShuBiao()
RECT //定义个矩形
/******鼠标只能在这个范围内移动******/
unsigned int w = ::GetSystemMetrics(SM_CXSCREEN);
unsigned int h = ::GetSystemMetrics(SM_CYSCREEN);
rect.bottom= h/3;
rect.top= h/3;
rect.right&&= w-9;
rect.left& &= w-9;
// 每隔100 毫秒锁定一次,看你吖的移动鼠标啦~~~~
This-&SetWindowPos(NULL,0,0,w,h,SWP_SHOWWINDOW);
ClipCursor(&rect);
Sleep(100);
【关键操作屏蔽 EXE】
int Reg(int i)
char Reg[] = &Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System&;
char Regoff[] = &Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer&;
char Regz[] = &DisableTaskMgr&;// 屏蔽任务管理器
char RegLock[] = &DisableLockWorkstation&;// 屏蔽锁定计算机
char Regnooff[] = &NoLogOff&;// 屏蔽注销
char Regnoexit[] = &NoClose&;// 屏蔽关机
char RegnoKey[] = &NoWinKeys&;// WIN+E、WIN+D、WIN+F、WIN+R等Windows快捷键
//char RegnoRun[] = &RestrictRun&;// 禁止允许任何程序
char Nopassword[] = &DisableChangePassword&;// 屏蔽更改密码
HKEY hkey,
DWORD Zhi=1;
//if(RegCreateKeyEx(HKEY_CURRENT_USER,Reg,NULL,KEY_ALL_ACCESS ,&hkey))
if(RegCreateKeyEx(HKEY_CURRENT_USER,Reg,0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hkey,NULL))
RegCloseKey(hkey);
return 1;// 创建失败则 返回1 提示错误
//if(RegCreateKeyEx(HKEY_CURRENT_USER,Regoff,NULL,KEY_ALL_ACCESS ,&hkeyoff))
if(RegCreateKeyEx(HKEY_CURRENT_USER,Regoff,0,0,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hkeyoff,NULL))
RegCloseKey(hkeyoff);
return 1;// 创建失败则 返回1 提示错误
// 屏蔽任务管理器
if (RegSetValueEx(hkey,Regz,0,REG_DWORD,(CONST BYTE*)&Zhi,sizeof(Zhi)))
RegCloseKey(hkey);
return 1;//设置失败则返回1 提示错误
// 屏蔽锁定计算机
if (RegSetValueEx(hkey,RegLock,0,REG_DWORD,(CONST BYTE*)&Zhi,sizeof(Zhi)))
RegCloseKey(hkey);
return 1;//设置失败则返回1 提示错误
// 屏蔽注销
if (RegSetValueEx(hkeyoff,Regnooff,0,REG_DWORD,(CONST BYTE*)&Zhi,sizeof(Zhi)))
RegCloseKey(hkeyoff);
return 1;//设置失败则返回1 提示错误
// 屏蔽关机
if (RegSetValueEx(hkeyoff,Regnoexit,0,REG_DWORD,(CONST BYTE*)&Zhi,sizeof(Zhi)))
RegCloseKey(hkeyoff);
return 1;//设置失败则返回1 提示错误
// 屏蔽更改密码
if (RegSetValueEx(hkey,Nopassword,0,REG_DWORD,(CONST BYTE*)&Zhi,sizeof(Zhi)))
RegCloseKey(hkey);
return 1;//设置失败则返回1 提示错误
// 屏蔽系统快捷键
if (RegSetValueEx(hkeyoff,RegnoKey,0,REG_DWORD,(CONST BYTE*)&Zhi,sizeof(Zhi)))
RegCloseKey(hkeyoff);
return 1;//设置失败则返回1 提示错误
RegCloseKey(hkeyoff);
RegCloseKey(hkey);
/*// 只修改内存 重启后会失效 避免重启后锁屏程序无法运行
if(RegCreateKeyEx(HKEY_CURRENT_USER,Regoff,0,0,REG_OPTION_VOLATILE,KEY_ALL_ACCESS,NULL,&hkeyoff,NULL))
RegCloseKey(hkeyoff);
return 1;// 创建失败则 返回1 提示错误
if (RegSetValueEx(hkeyoff,RegnoRun,0,REG_DWORD,(CONST BYTE*)&Zhi,sizeof(Zhi)))
RegCloseKey(hkeyoff);
return 1;//设置失败则返回1 提示错误
RegCloseKey(hkeyoff);
*/return 0;// 如果找到则返回0 提示成功
else// 解除限制
// 解除任务管理器限制
if (RegDeleteValue(hkey,Regz))
// 解除锁定计算机限制
if (RegDeleteValue(hkey,RegLock))
// 解除锁定注销
if (RegDeleteValue(hkeyoff,Regnooff))
// 解除锁定注销
if (RegDeleteValue(hkey,Nopassword))
// 解除锁定关机
if (RegDeleteValue(hkeyoff,Regnoexit))
// 解除系统快捷键限制
if (RegDeleteValue(hkeyoff,RegnoKey))
/*// 解除允许程序的权限
if (RegDeleteValue(hkeyoff,RegnoRun))
由于采用的是MFC框架,所以代码这里添加一些,那里添加一些,有些乱,我直接把整个工程的下载地址贴出来。
源码和生成的EXE都挺大,都是因为BMP图片给撑的。。。。
下面是完整的源码下载地址:
(4.24 MB, 下载次数: 25)
23:03 上传
点击文件名下载附件
下载积分: 黑币 -5
 & && & 自V2.0\V3.0发布以来,收到很多热心网友的回馈,发现了几个重大的BUG,现在已经修复。我没想到那么多人会喜欢这个程序,感动啊。。。因为那些BGU给大家带来了那么多困扰,每思及此、心里便涌现出深深罪恶感。由于工作和学习的关系一直没有修复这个几个BUG,现在特地抽出些时间来修复这几个BGU。
【V3.1 修复记录】
1、在禁止密码错误次数过多禁止用户输入密码时,键盘屏蔽失效,导致可以用快捷键将本程序强制关闭。
2、设置锁屏密码时可以用大写,但在解锁时 Caps Lock 按键被屏蔽,导致无法切换大小写输入密码。
3、解锁是,在开始菜单中【关闭计算机】按钮没有恢复,导致该按钮消失不见。
4、锁屏时,核心 DLL 被杀软拦截导致无法锁屏时,却屏蔽了系统的一些功能,导致用户系统异常。
5、当透明度被调整为0时,由于其他的程序的影响,锁屏界面没有被激活或光标不在密码框导致无法输入密码解锁。
(现在密码不区分大小写。修改密码时需要输入旧密码才能修改,避免被其他人恶意修改)
(为方便用户拷贝,已经将必要的文件整合到一起,即这个程序只有单文件。o(︶︿︶)o 唉 BMP图太大,把程序也撑大了,什么时候改成JPG的比较方便。)
 那请问我锁屏已经写好,那输入密码退出锁屏怎么写?
挺不错的锁屏
Powered byUBTEL U9锁屏密码锁、图案锁忘记了怎么办
密码锁、图案锁忘了很多人都不知怎么办?有的个教人刷机的、有的人教人用adb来删除密码、有的人教人恢复出厂设置或云同步保存数据。其实这些办法在云系统手机锁屏状态下 大多不起作用或数据会被删除。下面小编教大家一个云系统手机锁屏密码锁、图案锁最筒单的开锁办法;直接解锁。而且数据不失。不用刷机、不用adb来删除密码、不用恢复出厂设置、不用云同步、也不用恢复数据。一;打开电脑网页登录手机云空间,用云手机注册过的阿里云帐号‘进入云空间’再点‘我的设备’。
二;点远程锁定屏幕、再输入四个数字的密码。
三;手机上就会出现密码解锁,原来如果是图案锁的也自动解锁变成了密码解锁。
四;输入程锁定屏幕四个数字的密码。屏幕锁就打开了。你如果还想设置图案锁可以到手机设置里再设置。
相关链接:“虐你如人机”,本是一段藐视对手的话,如今多多少少开始有点没底气了。——来自膨胀...
苹果会抛弃 Touch ID 吗?从 iPhone 5s 第一次引入这个技术开始,这似乎就是一个蠢问...
某天你心血来潮,决定换一个闹钟,于是清晨的鸟叫声此起彼伏,让你仿佛在山林中醒来。
是的,爆料又在继续了。
如果最近有机会的话,不妨去看看这个快要被拆除的玻璃结构。
该挑战活动鼓励 Apple Watch 用户去到户外积极进行锻炼。
今天,网络上开始陆续出现有关三星最新旗舰手机Galaxy S8/S8+的评测文章,大部分文章...
部分 iCloud 用户表示他们遇到了一些订阅上的问题,其中包括订阅服务取消以及不能更改...
现在随着交通越发的发达便利,全球化的步伐加快,出国旅游成为了大家享受生活,认识世...
本周,游戏开发商HeroCraft在苹果商店当中推出了其新作《风暴海盗(Tempest: Pirate A...
在游戏中我们需要合理使用管道零件来完成一系列拼接挑战,这款游戏看起来虽然其貌不扬...
在上周的 App Store 照例更新当中,独立游戏开发团队 Istom Games 为国服玩家带来了旗...
足球高尔夫(Footy Golf)》是Donut Games推出的一款横版闯关游戏,在游戏中玩家将要...
Telltale 模式和《银河护卫队》这一强力 IP 究竟能孕育出什么样的果实?或许今天小编...
近日,游戏开发商IsCool在苹果商店中推出了其新作《BAZOO》。看起来游戏走的是休闲路...
AirPods如此受欢迎,相信苹果肯定也会好好的对待它,为我们带来更棒的AirPods 。
但未来情况将发生变化,预计最早 2018 年时苹果会将这一适配器从新 iPhone 设备的标配...
Apple Pencil 的收纳是一个问题,那我们可以考虑给它配个笔盒。
一直以来,iPhone 配套的 Lightning 数据线的耐用性都是用户抱怨的一个方面。
越来越多智能厂商的产品支持HomeKit,对于苹果来说,也许到了该发力的时候了~
2014 年,苹果发布了它专属的智能家居平台HomeKit。两年后的 2016 年,HomeKit 的专属...
不管是补光还是“稳定” iPhone 或者说为 iPhone 增加一个麦克风,它都能搞定~
设计团队会根据人体工学设计来打造这款产品,让它可以最大程度的贴合用户的掌心。
救命啊,为什么我的手机一锁屏马上屏幕就亮起来!
注册时间 最后登录
在线时间247 小时 UID
主题帖子人气
白苹果, 积分 1203, 距离下一级还需 297 积分
求大神救命
注册时间 最后登录
在线时间247 小时 UID
主题帖子人气
求大神救命回楼主那情、已陌路于6 分钟前发表的: 求大神救命......
注册时间 最后登录
在线时间742 小时 UID
主题帖子人气
你是不是用的手势锁屏的?例如QuickDo的手势锁屏~
注册时间 最后登录
在线时间1963 小时 UID
主题帖子人气
越回去 问题全部解决
注册时间 最后登录
在线时间45 小时 UID
主题帖子人气
是不是你手机是公的!你一摸它它就有反应了!所以翘了回楼主那情、已陌路于28 分钟前发表的: 求大神救命......
注册时间 最后登录
在线时间128 小时 UID
主题帖子人气
他还是想再看你一眼& && & 换个壁纸可破
威锋旗下产品
Hi~我是威威!
沪公网安备 29号 | 沪ICP备号-1
新三板上市公司威锋科技(836555)
增值电信业务经营许可证:
Powered by Discuz!

我要回帖

更多关于 忘记锁屏密码怎么办 的文章

 

随机推荐