屏蔽键盘的某些按键的消息
如何屏蔽键盘的某些按键的消息(基于MFC库):
今天写程序的时候,突然用到要屏蔽Enter和ESC的键盘消息,就从网上搜了搜,发现一种比较简单的方法(不用用到钩子函数)。主要是在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;
}
}