社区
Delphi
帖子详情
如何单单屏蔽 Ctrl-ESC 键 ?
xiaohuilau
2000-05-31 11:55:00
我想请教各位,到底如何单单屏蔽 Ctrl-ESC 键 ?或其它Windows98快捷键(除 Alt-Tab、Ctrl-Alt-Del外)?
...全文
1587
13
打赏
收藏
如何单单屏蔽 Ctrl-ESC 键 ?
我想请教各位,到底如何单单屏蔽 Ctrl-ESC 键 ?或其它Windows98快捷键(除 Alt-Tab、Ctrl-Alt-Del外)?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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中就可以截获按了什么键,执行什么操作了.
Windows中如何
屏蔽
Ctrl
+Alt+Del、Alt+Tab以及
Ctrl
+
Esc
键
序列
屏蔽
任务管理器,Alt+Tab,
Ctrl
+
Esc
,Alt+
Esc
,
Windows中如何
屏蔽
Ctrl
+Alt+Del、Alt+Tab以及
Ctrl
+
Esc
键
序列
屏蔽
任务管理器,Alt+Tab,
Ctrl
+
Esc
,Alt+
Esc
,
屏蔽
系统按
键
Alt-TAB, Ctl-
Esc
, Alt-
Esc
Win
键
Start M
TrapKeys shows how to disable
Ctrl
+Alt+Del, Alt-TAB and the task bar in Windows XP. Microsft MSDN 上下载的 有没有高手将其转换成delphi 程序??? 联系我。kinsunc@126.com
屏蔽
Ctrl
+Alt+Del、Alt+Tab以及
Ctrl
+
Esc
键
序列
非常好用的源码,
屏蔽
Ctrl
+Alt+Del、Alt+Tab以及
Ctrl
+
Esc
键
序列。不可多得。
XP系统中如何
屏蔽
Ctrl
+
Esc
键
序列.docx
XP系统中如何
屏蔽
Ctrl
+
Esc
键
序列.docx
屏蔽
WIN、ALT+TAB、
CTRL
+
ESC
键
的低级
键
盘钩子hook
屏蔽
WIN、ALT+TAB、
CTRL
+
ESC
键
的低级
键
盘钩子.zip
Delphi
5,379
社区成员
262,722
社区内容
发帖
与我相关
我的任务
Delphi
Delphi 开发及应用
复制链接
扫一扫
分享
社区描述
Delphi 开发及应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章