void cbd(){
HWND hWnd = GetConsoleWindow();
SetWindowLong(hWnd, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
HMENU hmenu = GetSystemMenu(hWnd, false);
RemoveMenu(hmenu, SC_CLOSE, MF_BYCOMMAND);
LONG style = GetWindowLong(hWnd, GWL_STYLE);
style &= ~(WS_MINIMIZEBOX);
SetWindowLong(hWnd, GWL_STYLE, style);
SetWindowPos(hWnd, HWND_TOP, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
ShowWindow(hWnd, SW_SHOWNORMAL);
DestroyMenu(hmenu);
ReleaseDC(hWnd, NULL);
}
在主函数之前加上这个函数可以让右上角的 - 口 × 变成 ❌ 这样就能让坑人程序叉不掉
大意是删掉原来的 - 口 ×,加上新的❌
DWORD WINAPI altf4(LPVOID lpParameter){
while (1){
if (_getch() == 0x12){
FlushConsoleInputBuffer(GetStdHandle(STD_INPUT_HANDLE));
}
}
return 0L;
}
他会防止用Alt+F4强制关闭
这是一个线程,主函数上就会创建一个新线程
线程的内容是已检测到alt建按下,就清空缓存区
同理,也可以做任务管理器的防护
DWORD WINAPI glq(LPVOID lpParameter){
while (1){
system("taskkill /f/im taskmgr.exe");
}
return 0L;
}
记得在主函数最前面加入
HANDLE a=CreateThread(NULL, 0, altf4, NULL, 0, NULL),b=CreateThread(NULL, 0,glq, NULL, 0, NULL);
cbd();
让他们生效
注意要以管理员身份运行,否则任务管理器会拒绝访问