TrafficMonitor icon indicating copy to clipboard operation
TrafficMonitor copied to clipboard

[1.83] 按 Alt+F4 会关闭任务栏窗口

Open WangHaonie opened this issue 3 years ago • 3 comments

按 Alt+F4 会关闭任务栏窗口。我也看过 #303 #309 #330 ,好像并没有被修复。

GIF 2022-4-4 15-49-41 (注:为了方便看见按的是Alt+F4,所以用了屏幕键盘,按实体键盘也一样)

WangHaonie avatar Apr 04 '22 07:04 WangHaonie

冷知识:ALT+F4能关闭绝大多数的程序窗口,这个快捷键本身就是win系统内置,作用就是用来关闭程序/关闭当前窗口的

QRQF001 avatar Apr 09 '22 16:04 QRQF001

冷知识:ALT+F4能关闭绝大多数的程序窗口,这个快捷键本身就是win系统内置,作用就是用来关闭程序/关闭当前窗口的

他可能是想说程序窗口和任务栏显示不是独立的,导致程序本体Alt+F4关闭后任务栏也不显示这个问题吧

KeeLee2005 avatar Apr 12 '22 07:04 KeeLee2005

https://github.com/libxzr/TrafficMonitor/commit/809302c4eb1238ac60979819ceccfee628c3064a

自用的一个解决方案 啊,好像被识别为 binary file 了

简单说就是

IDD_TASK_BAR_DIALOG DIALOGEX 0, 0, 72, 15
STYLE DS_SETFONT | WS_POPUP | WS_SYSMENU
EXSTYLE WS_EX_NOACTIVATE
FONT 9, "微软雅黑", 400, 0, 0x86
BEGIN
END

给任务栏窗口加上了一个 WS_EX_NOACTIVATE 的 extended style,从而让它变得无法聚焦。

但是有副作用:

  • 右键弹出的那个 pop up 菜单不再能够通过点击任意位置来进行取消,只能点在任务栏窗口区域上取消。
  • 如果打开了别的可聚焦窗口,比如软件设置,会导致任务栏窗口也变得可聚焦,从而又可以被 alt + f4 关闭了。

还有一种解决方案是直接把这个方法写成空的

但是窗口仍然是可聚焦的,仅仅只是忽略了关闭操作,会导致如果焦点在上面的话 alt + f4 直接没反应 (个人很不爽,于是选择了上面的方案自用)

之所以对 alt + f4 有这么奇怪的追求,是因为把笔记本的触摸板手势绑了一个在上面,方便操作快速关闭窗口。

自编译的无聚焦版本,如有需要可以取用: lite full

libxzr avatar Jul 29 '22 11:07 libxzr