Mask Alt + F4 and escape keys

Source: Internet
Author: User

 

Recently writeProgramThe background thread needs to display a progress window for execution, and this window does not need to be closed by the user, so I want to block the Alt + F4 and escape messages.

In general, you can think of processing wm_keydown and wm_syskeydown messages immediately:

 
Afx_msg void onkeydown (uint nchar, uint nrepcnt, uint nflags); afx_msg void onsyskeydown (uint nchar, uint nrepcnt, uint nflags );

This is correct, but the class derived from cdialog does not respond to the two messages, so you have to find another way to start with pretranslatemessage:

Virtual bool pretranslatemessage (MSG * PMSG); // by David Hsing: http://blog.csdn.net/DavidHsing/BOOL cxxxdialog: pretranslatemessage (MSG * PMSG) {If (PMSG-> message = wm_keydown & PMSG-> wparam = vk_escape) | (PMSG-> message = wm_syskeydown & PMSG-> wparam = vk_f4) {# ifdef _ debug trace0 ("cxxxdialog. pretranslatemessage (): ESC or Alt + F4 key is pressed. ignored. \ n "); # endif return true;} return cdialog: pretranslatemessage (PMSG );}

Save, F5 compile and run the test, everything is OK!

 

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.