一个普通的基于Dialog的MFC程序 一切都是按默认生成 运行出来一个对话框如何让这个对话框永远位于最底层呢? 就是说任何程序都将位于这个窗口的上面(可能有些矛盾)或者这样说 我打开这个程序窗口 无论如何都能让记事本位于它的上面 不管谁处于激活状态我开始想可能和窗口置顶是一个道理
所以用了如下代码
SetWindowPos( &wndBottom, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE );但是不管事儿啊  调用这个代码时  的确是该窗口跑底下去了 然而 当我激活这个窗口 而记事本处于非激活时 它又跑记事本上面去了
该怎么办啊  我这个窗口还不能完全禁用啊  说白了 就是想让这个程序和桌面一样

解决方案 »

  1.   

    在OnPaint()中加入SetWindowPos( &wndBottom, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE );
    这句代码就行了``每次重绘都将该窗口设为底层窗口。
      

  2.   

    将置底的窗体的IsMDIContainer属性设置为TRUE,然后双击要打开新窗口的菜单命令,如下:
    private void openNewFormToolStripMenuItem_Click(object sender, EventArgs e)
            {
                Form2 f2 = new Form2();
                f2.MdiParent = this;
                f2.Show();
            }
      

  3.   


    我不能把记事本当成我的子窗口啊我就是想模拟一个类似桌面的程序就是想把windows桌面替换成我的程序
      

  4.   

    使用windows自己的活动桌面功能不就可以了么?或者
    1、注入exploer进程,子化Desktop窗口,在新的窗口过程里面给desktop添加控件或者文本。
    2、以desktop为父窗口,建立一个disable的子窗口,使用户无法点击激活之。
    3、(请楼下补充)
      

  5.   

    我的程序是要完全替代桌面的  而且不会启动explorer。exe:<
      

  6.   


    帮帮忙啊 我按你说的 把我的窗口设置为GetDesktopWindow()的子窗口 但是问题是 这时任何按键消息我都无法响应了啊 即使我用全局hook 当这个附着窗口获得焦点时  按键 都接受不到 !!!