执行OnInitDialog的时候还没有进入消息循环呢,当然不接受啦

解决方案 »

  1.   

    SendMessage你写在了
    OnInitDialog的哪?是在最后return之前吗?
    你也可以直接调用ShowWindow(SM_HIDE)啊
      

  2.   

    to xj_h():不对,开始了,只要在 CDialog::OnInitDialog();
    之后我刚才试验if(cx==0&&cy==0)ShowWindow(SW_MAXIMIZE);成功了
      

  3.   

    如果你只是想开始的时候自动隐藏
    资源编辑-》dialod->属性->More styles:把visisble去掉
    然后在OnInitDialog()里最后return 之前ShowWindow(SM_HIDE)
      

  4.   

    请问,这样子就可以不再任务栏中显示了吗
        请问beni(),你的那条语句是写在OnSize()函数中吗?
      

  5.   

    if(cx==0&&cy==0)ShowWindow(SW_MAXIMIZE);是在OnSize()里的
      

  6.   

    你在*。h里有afx的灰色定义处加入你函数的定义
    在*。dlg里有afx的灰色定义处加入你函数的循环
    如 ON_MESSAGE(WM_SIZE, mmDone)
      

  7.   

    DoModal会让你的对话框显示出来,不管你在OnInitDialog中加不加ShowWindow(SW_HIDE)
    SendMessage发送消息过去,执行完以后返回,就和把ShowWindow(SW_HIDE)直接写在OnInitDialog中一样,改成PostMessage就可以隐藏了,不过窗口会闪一下,就是显示了马上被隐藏。
    如果你要做一个没有窗口的任务,不用造窗口,让它自己死循环不退出就可以了,没事的时候就sleep,就不占CPU了