窗口隐藏工具(极域学生端破解器)
[編輯] [转简体] (简体译文)
|
作者:huidong
| 分類:【編程】雜項
[
23 瀏覽
0 評論
6 贊
7 踩
]
概要
正文
介绍
这是一个很简单的小工具。
程序是 cmd 界面,运行之后会一直保持顶置,左键 cmd 窗口可以将屏幕 (20, 20) 处的窗口最小化,右键则可以隐藏该窗口。
这个软件是专门为电脑课破解极域学生端而打造的:
保持顶置使得这个窗口可以在学生端控屏的状态下显示出来。
由于学生端控屏是全屏的,但是不会锁定鼠标。
因此,可以左右键 cmd 窗口,将屏幕 (20, 20) 处的窗口最小化或隐藏,这样就可以让学生端最小化到任务栏或者隐藏掉学生端的窗口。
但是这个时候其实没有真正关闭学生端,只是可以操作鼠标了,不过键盘还是被控制的。
所以可以打开任务管理器,把学生端杀了就行。点多几下就可以杀死它的。
实测可用~
(因为机房有 dev-c++,这个程序完全是在机房的空闲时间写的,没想到这个学生端这么简单就被干掉了,我还以为会很倔强呢,哈哈)
-------
2021.11.27 补充
后来我同桌告诉我,可以直接在控屏前就开任务管理器把学生端干了就行了……
因为我之前尝试过之前在二中机房用过的 bat 循环杀进程的办法(见此链接),这个办法使用了 TASKKILL 命令,
但是触发了学生端的保护机制,使我一度以为如果用任务管理器杀进程是没有用的(因为那样的话原理就和 TASKKILL 一样了),
因此我就从未尝试直接用任务管理器去杀学生端……所以我就撸了下面的代码来间接破解学生端。
但是现在既然已经知道了可以直接用任务管理器杀进程的办法,那其实这个方法的意义也不太大了。
-------
代码:
(该版本为 12.7 的修改版,新增了自动调整窗口大小的功能)
//////////////////////////////////////// // // Hide window tool // Used to hide the full top window // // Author : huidong // Time : 2021.12.7 // #include <windows.h> #include <stdio.h> int width = 200; int height = 200; POINT GetMousePoint() { POINT point; GetCursorPos(&point); ScreenToClient(GetConsoleWindow(), &point); return point; } HWND GetHWnd() { POINT p = { 20,20 }; HWND wnd = NULL; wnd = WindowFromPoint(p); // 获取此位置窗口的句柄 return wnd; } void min() { HWND wnd = GetHWnd(); // SetWindowPos(wnd,0, 0, 0, 0, 0, SWP_NOMOVE); ShowWindow(wnd,SW_MINIMIZE); } void hide() { HWND wnd = GetHWnd(); // SetWindowPos(wnd,0, 0, 0, 0, 0, SWP_NOMOVE); ShowWindow(wnd,SW_HIDE); } void top() { SetWindowPos(GetConsoleWindow(),HWND_TOPMOST, 0, 0, width, height, SWP_NOMOVE); } int main() { while(1) { top(); POINT p = GetMousePoint(); if (p.x > 0 && p.y > 0 && p.x < width-20 && p.y < height-20) { if (GetAsyncKeyState(VK_LBUTTON) & 0x8000) { min(); printf("\n\nMIN\n\n"); } else if (GetAsyncKeyState(VK_RBUTTON) & 0x8000) { hide(); printf("\n\nHIDE\n\n"); } } } return 0; }