我想知道一个窗口句柄对应的窗口是否是顶层窗口(Top Level Window),不知如何判断?另外,能否判断一个窗口是否能够输入文字?就是是不是一个类EDIT控件,可以编辑,我觉得可能可以判断出来,因为输入法应该是要判断是否能够输入文字的

解决方案 »

  1.   

    可以可以。都是可以的。FindWindow ...
      

  2.   

    findwindow只是查找窗口第一条我不想用EmunWindow再一一判断
      

  3.   

    判断是否是编辑框通过判断窗口风格就可以,你说的顶层窗口是否就是GetForegroundWindow返回的窗口
      

  4.   


    我说的顶层窗口是一个独立窗口,如IE窗口,或一个对话框之类的,应该是用EmunWindow可以列出来的窗口吧(可能我说的不是很准确)GetForegroundWindow返回的应该是当前聚集的顶层窗口,无论何时都只有且只有一个吧。我是这样理解的
      

  5.   

    用GetForegroundWindow()获取一个hwnd,与你已经拥有的那个一比较,不就得了!
    另外,判断它是否是一个CEDIT类控件,可以发送EM_REPLACESEL消息,若发送成功,那就是了,不成功,就不是!
    可以参考:http://community.csdn.net/Expert/topic/3911/3911381.xml?temp=.6401941
      

  6.   

    可能大家还没明白我的意思我说的顶层窗口是指“Top Level Window”而不是在最前面的窗口“Foreground Window”(上面的EnumWindow我写错了,写成EmunWindow了)
    你们知道EnumWindow有什么作用吗?
      

  7.   

    判断该窗口的ex_style中,是否包含WS_EX_TOPMOST就可以了。获得exstyle可以用GetWindowLong
      

  8.   

    自己仔细看API手册,好好找找吧
    这东西得自己来
      

  9.   

    xialin168:
        自己洗洗脑吧
        什么父窗口,胡说    请不要装懂