Foxtable(狐表)用户栏目专家坐堂 → 求助:如何屏蔽按键达到类似锁屏功能


  共有149人关注过本帖树形打印复制链接

主题:求助:如何屏蔽按键达到类似锁屏功能

帅哥哟,离线,有人找我吗?
tsailong
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:65 积分:635 威望:0 精华:0 注册:2022/6/6 14:35:00
求助:如何屏蔽按键达到类似锁屏功能  发帖心情 Post By:2024/12/7 16:40:00 [只看该作者]

请教各位老师各位大神,如何屏蔽键盘“win”、“Alt+Tab”“Ctrl+Alt+Delete”这类可切换Windows系统界面的按键响应,使其无法非法退出foxtable当前窗口或切换到Windows其他窗口,或通过鼠标在任务栏启动任务管理器强行关闭foxtable程序进程,锁定在当前窗口。
相关代码该如何写,求教,谢谢!

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111375 积分:566939 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/12/7 17:06:00 [只看该作者]

没有办法

 回到顶部
帅哥哟,离线,有人找我吗?
tsailong
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:65 积分:635 威望:0 精华:0 注册:2022/6/6 14:35:00
  发帖心情 Post By:2024/12/7 17:22:00 [只看该作者]

网上找到个方法,可变为foxtable对应的代码吗?

…………………………
Windows平台(使用Windows API,以C++为例)
 
以下代码通过安装一个底层键盘钩子( SetWindowsHookEx )来拦截键盘消息,实现类似禁用键盘的效果。不过这只是拦截消息不让其正常传递处理,并非真正从硬件层面禁用。
 
cpp
#include <windows.h>
#include <iostream>

// 键盘钩子过程
LRESULT CALLBACK KeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) {
    // 直接返回1,表示拦截消息,不传递给下一个钩子或者目标窗口等进行处理
    return 1;
}

int main() {
    HHOOK hKeyboardHook = SetWindowsHookEx(WH_KEYBOARD, KeyboardProc, NULL, 0);
    if (hKeyboardHook == NULL) {
        std::cerr << "Failed to set keyboard hook!" << std::endl;
        return 1;
    }
    // 进入消息循环来让钩子生效,这里简单用个循环模拟持续生效状态,实际应用中可能需要更合理的循环控制等逻辑
    MSG msg;
    while (GetMessage(&msg, NULL, 0, 0)) {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
    }
    // 卸载钩子
    UnhookWindowsHookEx(hKeyboardHook);
    return 0;
}

 回到顶部