FindWindow函数的第一个参数应该是一个类名的字符串变量,可是我用的类名,为什么运行时不会返回窗口指针?
我的代码如下:
CWnd* m_CWnd;
m_CWnd = FindWindow("CRdlg",NULL);//CRdlg 是对话框类;
为什么运行时我把CRdlg对话框已经打开,返回值还是0?

解决方案 »

  1.   

    对话框的类名都是 #32770
    传参数的时候可以用 MAKEINTATOM(32770)
      

  2.   

    对于这个东东可以使用SPY++先看一看就明白了
      

  3.   

    那我的第一个参数一概怎么写?写成m_CWnd = FindWindow(#32770,NULL);?
      

  4.   

    FindWindow("#32770",标题);//可以准确定位
      

  5.   

    我要的是通过类名的到对话框的指针,而且#32770的到的不是我想要的类的窗口的指针,但是我的这个窗口已经打开。#32770只是CTempWnd的指针,谁知道啊??!!
      

  6.   

    findwindow中的类名好象不能是自己的类名.而且spy++中看到的也不是自己的类名.
    如何能是自己的类名能在syp++中显示呢?我想如果能在spy++中显示的话应该在findwindow 就可以使用了
    强烈关注,我也感兴趣.关注帮你顶.
      

  7.   

    从使用的第一天开始就使用spy++中看到的类名,也没多考虑,如今你提起才想到.可能有人知道,但人家不想说也没办法啊!!上次我发了十几贴也没问出一个问题.继续学习,希望有大峡指点.
      

  8.   

    FindWindow(MAKEINTATOM(32770), "Window");
      

  9.   

    qrlvls(≌AIR⌒LIKE) (≤和空气一样帅≥√) 这样有什么用?还不是通过窗口名来定位的吗?我要的是通过类名!!
      

  10.   

    楼主.我知道了.其实这个类名并不是我们定义的类,确切的说叫类型名更好(个人看法)他是有RegisterClass注册的类型名.
      

  11.   

    其实第一个参数用NULL也是一样的用呢
      

  12.   

    难道两个参数都要用NULL?我要的使用类名定位!!!这样有什么用?
      

  13.   

    fanqing(火影忍者)
    那你的意思是,我的第一个参数应该写成"CDialog"吗?可是我同时可能打开几个对话框,这样好像也很难定位!!
      

  14.   

    使用findwindowex
    没有找不到的窗口,只要他是dialog
    思路:循环使用findwindowex,结合EnumChildWindow子窗体特征,判断当前窗体是不是你要的dialog
      

  15.   

    不是,这个所谓的类名是RegisterClass注册过的.RegisterClass参数是WNDCLASS,这个结构有个lpclassname参数(自己任意的写)就是findwindow的类名
      

  16.   

    所以我说叫类型名更合适(他只是起个名字,在建立控件时他根据名来载入一些基本设置就是wndclass,当然也可以后天的修改属性了)
      

  17.   

    这部分不属于mfc,属于win32 api.
      

  18.   

    那我在程序FindWindow函数参数中应该怎么写这个被RegisterClass注册过的类名呢?
      

  19.   

    如果非要写,你必须定义新控件.先初始化wndclass,(其中包括你要的类名),注册,然后createwindow.
    比较麻烦,要用基本api写.(不排除mfc部分能用).(注意不是类名,只是你起的一个名字,当然平时spy中都是微软为我们定义好的.)
      

  20.   

    如果非要写,建议你看看使用api编程的书.就是winmain开始的(c和c++中是main开始的)
      

  21.   

    关键是我的程序中生成了一个无模式对话框(嵌入在view)没有名称,想在有模式对话框中更新无模式对话框的内容,不能通过对话框名称,所以想通过类名来找到它的指针,没想到这么难!!!
      

  22.   

    我现在不用FindWindow函数,也能解决这个问题,可是我觉得用这个函数还可以在别的地方解决别的问题,所以很想知道,没想到这么难,我以为一个参数问题很简单的,所以给的分也少了,没想到
      

  23.   

    不用finwindow可以查到其他窗口.是什么函数啊!学习求教?
      

  24.   

    vcleaner(我没做大哥已经很久了.......)
    帮我做的,得到主框架指针,然后得到view类指针,指向对话框指针,让后把这个指针复之给信申明的一个对话框指针,用这个指针操作就可以了