我想阻止用户通过 Alt+F4 或单击“关闭”按钮关闭窗口。
如何做到这一点?
我想 WindowsAPI 可以做到,但我没有任何经验,也找不到具体的解决方案。
当然,能够实现它是很好的,不必使用特定的 API 。
背景:用 Word 来读书,关闭之后过了几天再找到想看的地方变得很难,Word2013 后自带了可以回到之前阅读位置的方法,但是那个东西很不稳定,经常保存不下来。我想在 word 关闭的时候,阻止关闭,并弹出通知提醒,先加入书签再退出。
1
zhyl 2020-07-12 16:10:58 +08:00 via Android
点击关闭按钮一般是发送 wm_close 消息,hook word 的消息处理函数可以拦截关闭。结束进程是 exitthread 函数,hook 它也能阻止关闭。
|
2
fuchunliu 2020-07-12 16:11:05 +08:00 via Android
打印成 pdf
|
3
kn007 2020-07-12 16:14:25 +08:00
最简单的应该是用 user32.dll 的 SetWindowLongPtrW 方法,把 SYSMENU 去掉
|
5
BBrother 2020-07-12 16:21:13 +08:00
如果一定要用 word 的话,可以把要读的部分字体变大,养成习惯就好
|
6
kn007 2020-07-12 16:24:32 +08:00
@Mindjet 哦,不好意思,没审题清楚,alt+f4 的话是 SendMessage 给窗口,只能 hook wm_close 信号。
你可以同样使用 SetWindowLongPtrW,然后注册个回调函数,函数抓取 wm_close 信号直接 return 1 就好了,确认无误想关闭的时候用 CallWindowProc 就可以了 |
7
Mindjet OP |
8
ipwx 2020-07-12 16:47:13 +08:00
。。。说真的,我觉得打印成 PDF 然后用 whatever 阅读器,你的体验会好很多的。比你折腾这个有效多了。
|
9
Yourshell 2020-07-12 17:00:19 +08:00
刻舟求剑不可取
|