当它在后台运行时 可以关闭级域的黑屏锁定和全屏广播!!

希望看完可以点个赞
#include <windows.h>
#include <iostream>
#include <string>

// 键盘钩子过程
HHOOK keyboardHook;

LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) {
    if (nCode == HC_ACTION) {
        KBDLLHOOKSTRUCT* kbdStruct = (KBDLLHOOKSTRUCT*)lParam;
        
        // 检测Ctrl+Alt+F4组合键
        if (wParam == WM_KEYDOWN) {
            bool ctrlPressed = GetAsyncKeyState(VK_CONTROL) & 0x8000;
            bool altPressed = GetAsyncKeyState(VK_MENU) & 0x8000;
            
            if (ctrlPressed && altPressed && kbdStruct->vkCode == VK_F4) {
                // 获取前台窗口
                HWND foregroundWindow = GetForegroundWindow();
                if (foregroundWindow) {
                    DWORD processId;
                    GetWindowThreadProcessId(foregroundWindow, &processId);
                    
                    // 强制终止进程
                    HANDLE process = OpenProcess(PROCESS_TERMINATE, FALSE, processId);
                    if (process) {
                        TerminateProcess(process, 0);
                        CloseHandle(process);
                        std::cout << "强制终止了当前活动窗口的进程" << std::endl;
                    }
                }
                return 1; // 阻止其他程序处理此按键
            }
        }
    }
    return CallNextHookEx(keyboardHook, nCode, wParam, lParam);
}

int main() {
    std::cout << "SuperF4 已启动 - 使用 Ctrl+Alt+F4 强制终止当前活动窗口" << std::endl;
    std::cout << "按 ESC 键退出程序" << std::endl;
    
    // 设置键盘钩子
    keyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, KeyboardProc, GetModuleHandle(NULL), 0);
    
    if (keyboardHook == NULL) {
        std::cerr << "无法安装键盘钩子" << std::endl;
        return 1;
    }
    
    // 消息循环
    MSG msg;
    while (GetMessage(&msg, NULL, 0, 0)) {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
        
        // 检测ESC键退出
        if (GetAsyncKeyState(VK_ESCAPE) & 0x8000) {
            break;
        }
    }
    
    // 卸载钩子
    UnhookWindowsHookEx(keyboardHook);
    std::cout << "SuperF4 已退出" << std::endl;
    
    return 0;
}
 

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐