huidong

首页 | 会员登录 | 关于争取 2022 寒假做出汇东网 Ver3.0.0 !
搜索文章


介绍


这是一个很简单的小工具。

程序是 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;
}




返回首页


Copyright (C) 2018-2024 huidong