如何单单屏蔽 Ctrl-ESC 键 ?

xiaohuilau 2000-05-31 11:55:00
我想请教各位,到底如何单单屏蔽 Ctrl-ESC 键 ?或其它Windows98快捷键(除 Alt-Tab、Ctrl-Alt-Del外)?
...全文
1611 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
h_lj 2001-06-01
  • 打赏
  • 举报
回复
只能用钩子解决
xiaohuilau 2001-06-01
  • 打赏
  • 举报
回复
难道难道了这么多人???
xiaohuilau 2001-05-30
  • 打赏
  • 举报
回复
我要的是单单屏蔽 CTRL+ESC。
BlueTrees 2001-03-28
  • 打赏
  • 举报
回复
装一个系统的钩子,截获键盘输入,然后修改键值,装系统钩子,使用API函数SetSystemHook或者是SetSystemHookEx,参考MSDN,又一个技巧,钩子函数按照标准说明要放在DLL中,但是对于键盘钩子,可以放在当前的EXE中,不过要导出钩子函数,方法和DLL中一样,应当注意的是,钩子函数不能直接使用程序中的变量等等,通讯要使用MappingFile,记住钩子是在IE的进程空间中运行的,使用MappingFile要注意同步,否则等着windows崩溃吧!
还可以设置系统热键,CTRL+ESC,但不要在传递了,这样就屏蔽了。
试试吧,很麻烦的罗
xiaohuilau 2001-03-28
  • 打赏
  • 举报
回复
屏蔽任务栏的“开始”按钮我已做到了,只是做不到屏蔽CTRL+ESC 及 键盘上的“开始”按钮
xiaohuilau 2001-03-27
  • 打赏
  • 举报
回复
屏蔽任务栏的“开始”按钮我已做到了,只是做不到屏蔽CTRL+ESC 及 键盘上的“开始”按钮
Kingron 2001-03-26
  • 打赏
  • 举报
回复
用API禁止开始菜单的按钮就可以了,屏蔽Ctrl+Esc是很难的。屏蔽开始菜单却是很容易的。
xiaohuilau 2001-03-26
  • 打赏
  • 举报
回复
我要的是如何禁止“开始”菜单的弹出!

Thank you!
halfone 2000-06-07
  • 打赏
  • 举报
回复
在什么地方COPY的我不记得了。改为DELPHI应该不难吧!
halfone 2000-06-07
  • 打赏
  • 举报
回复
在程序中禁止Alt-Tab

完成这一功能的最简单方法是使用RegisterHotKey函数。在调用该函数后你的进程回在ALT-TAB按下时比系统先得到通知。 你需要处理的消息是WM_HOTKEY,下面是相关代码讲解。

RegisterHotKey函数原型及说明:
BOOL RegisterHotKey(
HWND hWnd, // window to receive hot-key notification
int id, // identifier of hot key
UINT fsModifiers, // key-modifier flags
UINT vk // virtual-key code);
参数 id为你自己定义的一个ID值,对一个线程来讲其值必需在0x0000 - 0xBFFF范围之内,对DLL来讲其值必需在0xC000 - 0xFFFF 范围之内,在同一进程内该值必须唯一
参数 fsModifiers指明与热键联合使用按键,可取值为:MOD_ALT MOD_CONTROL MOD_WIN MOD_SHIFT
参数 vk指明热键的虚拟键码

// 初始化
CMainFrame::CMainFrame()
{
m_nHotKeyID = 100;

BOOL m_isKeyRegistered = RegisterHotKey(GetSafeHwnd(), m_nHotKeyID,
MOD_ALT, VK_TAB);

ASSERT(m_isKeyRegistered != FALSE);
}

//取消
CMainFrame::~CMainFrame()
{
BOOL m_iskeyUnregistered = UnregisterHotKey(GetSafeHwnd(), m_nHotKeyID);
ASSERT(m_isKeyUnregistered != FALSE);
}

WM_HOTKEY消息含义:
idHotKey = (int) wParam; // identifier of hot key
fuModifiers = (UINT) LOWORD(lParam); // key-modifier flags
uVirtKey = (UINT) HIWORD(lParam); // virtual-key code
这三个值分别和调用RegisterHotKey时的id,fsModifiers,vk对应。
最后你需要在文件中定义ON_MESSAGE消息映射。
在头文件中:
class CMainFrame : public XXXX
{
afx_msg LONG OnHotKey(WPARAM wP,LPARAM lP);
}
在CPP文件中MESSAGE_MAP处添加:
ON_MESSAGE(WM_HOTKEY,OnHotKey)
Un1 2000-06-07
  • 打赏
  • 举报
回复
屏蔽系统按键的问题回答过好多次了,你还是到历史问题中找找吧!
xiaohuilau 2000-06-07
  • 打赏
  • 举报
回复
回复 fyje:照你的方法是不行的。因为只能当此程序被击活时才能截获。
fyje 2000-06-01
  • 打赏
  • 举报
回复
首先设置form的keypreview:=true;然后在keydown,keypress中就可以截获按了什么键,执行什么操作了.
1.linux系统介绍 以windows为内核的操作系统有哪些:win10   win8   win7  xp  系统    windows server 以linux为内核的操作系统有哪些:centos  ubuntu  debian   windows和linux  linux:服务器   安全    稳定 高效    windows:办公  家用  2.安装linux注意事项 对centos系统 的基本使用   有哪些文件夹   对文件/文件夹 进行操作  创建 删除  修改 移动 复制   写入 home 存放所有用户文件的根目录  soft :安装软件 cd  ll mkdir 创建文件  touch 空文件  echo sdsd>a.txt       vi a.txt vi c.txt  打开文件  按下i  改为写入的模式    写完之后保存: 先按下esc再按下:w 保存 :q退出  :wq    写完之后不想保存 强制退出  esc  :q! 删除文件/文件夹 rm -rf a.txt  b.txt rm -rf soft 复制 如果复制文件 cp  要复制的文件名   复制出来的文件名子    cp  a.txt   a1.txt 如果复制的是文件夹的 cp -r soft/   soft1 展示一个文件中的内容 cat  移动文件  mv  temp1   temp2 重命名 mv  temp1   temp2 查找: find /(查找的路径)  -name   *.txt    b 清屏  clear tab 按 可以帮助我们把输入的内容补全   3.配置局域网  需要通过ssh软件远程操作linux系统 远程操作centos系统  在windows操作系统中通过一款软件来远程操作虚拟电脑中的centos系统  ssh软件: xshell  secureCRT 第一步在win10系统中下载并且安装ssh软件 secureCRT    第二步:只要知道centos系统所在电脑的公网IP  登录账户和密码      /  win10和centos系统所在的两台电脑在同一个局域网内  局域网IP  登录账户和密码 第三步:centos系统 进行局域网的设置 往网卡中写入一些数据   win10写入的方式:桌面的化操作和centos系统写入的方式是不一样的  ip 网关 子网掩码 NM_conteolle。。。 命令  找到往网卡写入数据的文件    重新启动网络服务 开启22端口   重启防火墙服务 网络桥接网络  *************************端口是否开启  4.配置外网  下载软件1.下载并且安装到系统中 node.js环境   npm install bootstrap   默认的镜像库 centos系统    yum install  服务名     默认的镜像库  2.自己下载服务  wget 服务的网络地址 自己单独安装  比较灵活 安装难度大 windows系统  exe文件 linux       rpm包

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧