热键在release下面发生错误,请帮忙。

pleasehelpme 2004-08-23 11:10:44
一个很简单的程序,我注册了热键,在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
...全文
110 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lizmei001 2004-08-23
  • 打赏
  • 举报
回复
统一楼上的,消息最好定义原型
afxmsg HRESULT f(WPARAM wParam, LPARAM lParam);
TonyWJ 2004-08-23
  • 打赏
  • 举报
回复
不加上参数,在Debug下不会错,但Release下就会挂掉
flyelf 2004-08-23
  • 打赏
  • 举报
回复
在release下,消息定义要安装原型
Kudeet 2004-08-23
  • 打赏
  • 举报
回复
LRESULT C****::OnHotKey(WPARAM wParam,LPARAM lParam)
//后面的参数在RELEASE下不能少
pleasehelpme 2004-08-23
  • 打赏
  • 举报
回复
谢谢大家
在release下面,还有什么需要注意的吗?

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧