我在dll中 新增加一个DIALOG class,然后用create方法,创建窗口,我想让这个窗口创建显示出来后,他不抢焦点,
因为我做的是一个hook,当我停在ie窗口时,我按了指定的键,窗口创建出来后,但是当前窗口还是ie,不是这个新弹出来的~谢谢

解决方案 »

  1.   

    用create方法 也就是非模式对话框用 ShowWindow(SW_SHOWNOACTIVATE); 的方法不会抢占焦点
      

  2.   

    不抢焦点那就是显示的时候不是对话框不是顶层窗口了...
    我想可以用SetWindowPos设置一下。
      

  3.   

    更正一下!
    不抢焦点那就是显示的时候对话框不是顶层窗口了...
    我想可以用SetWindowPos设置一下。
      

  4.   


    dll中的相关代码 
    //在CTest::OnCreate里面  
    this->ModifyStyle(WS_DISABLED,0,0);//以下是在dll中的
    CTest test;//继承CDialog的类 
    test.Create(IDD_DIALOG1);
    test.ShowWindow(SW_SHOWNOACTIVATE);
      

  5.   

    把对话框资源属性中的contorl属性设为true
    然后dlg->SetWindowPos(NULL,X,Y,w,h,SWP_NOACTIVATE|SWP_SHOWWINDOW);
      

  6.   


    thanks  问题解决了~~新问题又出来了~
    先结这个贴~