怎么屏蔽电脑的alt+f4关闭程序功能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么屏蔽电脑的alt+f4关闭程序功能相关的知识,希望对你有一定的参考价值。
直接屏蔽很困难,通常是编程实现。不过你可以用注册另外软件热键的方法来屏蔽,比如QQ里设置一个alt+F4的热键,这样就alt+F4就不会有关闭程序的功能了。具体你可以随便在开始——程序里找个程序的快捷方式图标,右键选属性,指定快捷键 参考技术A 窗口中注册热键,然后在窗口中接收热键。vc++示例:
在cpp中增加(其中classname,baseclassname 为类名和基类名):
#define ID_WM_HOTKEY (0x1000)
BEGIN_MESSAGE_MAP(classname, baseclassname)
ON_MESSAGE(WM_HOTKEY,OnHotKey)
END_MESSAGE_MAP()
LRESULT classname::OnHotKey(WPARAM wParam,LPARAM lParam)
return 1;
中.h中定义
afx_msg LRESULT OnHotKey(WPARAM wParam,LPARAM lParam);
在create窗口后
RegisterHotKey(m_hWnd,ID_WM_HOTKEY,MOD_ALT,VK_F4);
在destroy窗口前
UnregisterHotKey(m_hWnd,ID_WM_HOTKEY);
在HOOK中断定消息的WPARAM和LPARAM就可滤过ALT+F4 参考技术B 把form1的keypreview属性设成true,然后在FORM1的KeyDown写代码:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;Shift: TShiftState);
begin
if key=vk_f4 then key:=0;
end; 参考技术C 用360.。。。。。。。。本回答被提问者采纳
屏蔽Alt+F4关闭窗体
实现效果:
知识运用:
KeyEventArgs类的Alt,Handled属性
public virtual bool Alt {get;} //获取一个值 该值指示是否曾按下Alt键
public bool Handled {get; set;} //获取或设置一个值 该值指示是否处理过此事件
//true表是跳过控件的默认处理 false表是还将该事件传递该默认控件处理程序
实现代码:
private void Form1_KeyDown(object sender, KeyEventArgs e) { if (e.Alt && e.KeyCode == Keys.F4) e.Handled = true; }
以上是关于怎么屏蔽电脑的alt+f4关闭程序功能的主要内容,如果未能解决你的问题,请参考以下文章