热键在release下面发生错误,请帮忙。
一个很简单的程序,我注册了热键,在debug下面没有错误,在release下面一按热键就发生错误,说什么某某内存不能为read.
//下面是我的程序
int CAlarmClockDlg::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CDialog::OnCreate(lpCreateStruct) == -1)
return -1;
//注册热键
idHotKey=GlobalAddAtom("hotkey");
int nRet=RegisterHotKey(AfxGetMainWnd()->GetSafeHwnd(),idHotKey,
MOD_WIN,VK_F12);
if (nRet==0)
MessageBox("error","the hot key is already in use!");
return 0;
}
void CAlarmClockDlg::OnClose()
{
//销毁热键
UnregisterHotKey(AfxGetMainWnd()->GetSafeHwnd(),idHotKey);
CDialog::OnClose();
}
BEGIN_MESSAGE_MAP(CAlarmClockDlg, CDialog)
//{{AFX_MSG_MAP(CAlarmClockDlg)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(ID_START, OnStart)
ON_BN_CLICKED(ID_STOP, OnStop)
ON_BN_CLICKED(ID_IKNOW, OnIknow)
ON_WM_CLOSE()
ON_WM_CREATE()
ON_MESSAGE(WM_HOTKEY,OnHotKey)//热键消息
ON_WM_TIMER()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
void CAlarmClockDlg::OnHotKey()
{
//热键处理
if(bVisible)
AfxGetMainWnd()->ShowWindow(SW_HIDE);
else
AfxGetMainWnd()->ShowWindow(SW_SHOW);
bVisible=!bVisible;
}
请问大虾,哪里有错误呢?不胜感激!
如果有示范源码,请发邮件到:
intosky@yeah.net