返回首页 我的新博客

屏蔽键盘的某些按键的消息

如何屏蔽键盘的某些按键的消息(基于MFC库):

今天写程序的时候,突然用到要屏蔽EnterESC的键盘消息,就从网上搜了搜,发现一种比较简单的方法(不用用到钩子函数)。主要是在MFC工程中的PreTranslateMessage函数中实现。详细代码如下:

BOOL Cumini_restoreDlg::PreTranslateMessage(MSG* pMsg)

{

     // TODO: 在此添加专用代码和/或调用基类

     if (pMsg->message == WM_KEYDOWN)

     {

         if (pMsg->wParam == VK_RETURN)

              return 0;

         if (pMsg->wParam == VK_ESCAPE)

              return 0;

     }

 

     return CDialog::PreTranslateMessage(pMsg);

}

 

如何在MFC中响应自定义消息:

同时,在MFC程序中要响应自定义的消息,就需要重载消息处理函数WindowProc函数,示例代码如下:

LRESULT Cumini_restoreDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)

{

     if (message == SERVER_NOTICE)

     {

         EndDialog(0);

     }

 

     return CDialog::WindowProc(message, wParam, lParam);

}

 

如何时应用程序只执行一个进程实例:

下面是一种有效的方法:

     HANDLE   hMutext   =   CreateMutex(NULL,   FALSE,   "Mutext_Name");  

     if(hMutext   !=   NULL)  

     {  

         if(GetLastError()   ==   ERROR_ALREADY_EXISTS)  

         {    

              return   FALSE;  

         }  

     }  

posted @ 2009-03-11 09:57  buffer的blogs  阅读(668)  评论(0编辑  收藏  举报