问题描述:在vs2010中新建一个Dialog工程,编译运行,左键双击dialog,主机蜂鸣器嘟嘟响。怀疑是默认响应函数在操作蜂鸣器,于是,给工程添加dialog的左键双击响应函数,如下:
void CtestDlg::OnLButtonDblClk(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default Sleep(1000);
static int i = 0;
SetDlgItemInt(IDC_STATIC_0, i, TRUE);
i++;
Sleep(1000);  //  第二个sleep        //  注释掉
//CDialogEx::OnLButtonDblClk(nFlags, point);
}
编译运行,双击dialog时,程序运行完第二个sleep后,蜂鸣器依然响。不解?望大虾指导!

解决方案 »

  1.   

    补充说明:当在函数OnLButtonDblClk中设置“断点”,调试运行,蜂鸣器就不响了!
      

  2.   


    我试了下其它计算机,果然蜂鸣器没有响。那能不能解释下,为什么是  运行完第二个sleep后蜂鸣器才响?
    如果是硬件问题,是不是应该在 运行第一个sleep前蜂鸣器响呢?
      

  3.   

    到目前为止,没有得到理想的回复。我摸索了个小方法:
    当Dialog上有Edit输入焦点时,可以避免双击对话框时蜂鸣器响。这个网址有关于蜂鸣器响的讨论:
      http://www.amobbs.com/thread-587668-1-1.html,里面说设置BIOS可以关闭蜂鸣器响。