目标窗口是弹出来,名称基本上无法知道会是什么,不过名称字段有两到三个字是固定不变,
有可能是这样:窗口 0039060E" 鸡蛋(农产品)"#32770(对话框)
窗口 0039F60A" 椰菜(农产品)"#32770(对话框)
窗口 0009F60A" 辣椒(农产品)"#32770(对话框)
窗口 0019F60A" XXX(产品)"#32770(对话框)有关键字"产品"HWND TargetWndhWnd = ::FindWindow(NULL,_T("产品")); //只能严格匹配"产品"是否有可能模糊匹配上呢?
是否有可能从其它窗口的特质来匹配上呢?谢谢解答!

解决方案 »

  1.   

    类名:#32770 (对话框)类样式:00000808 CS_DBLCLKS
      

  2.   

    还有一些什么找窗口句柄的API可以关注一下呢?
      

  3.   

    看看有没有特定的父窗口什么的。如果没有的话,就只给FindWindow传#32770类名,窗口名字是NULL。把所有窗口都遍历一边,把查找结果保存CString添加到一个CList里面去。然后自己再逐个进行分析匹配。
      

  4.   

    EnumWindows枚举窗体
    GetWindowText获取标题
    用标题匹配关键字
      

  5.   

    貌似这里要枚举子窗体
    EnumChildWindows
      

  6.   

    请问,
    如果我用
    EnumWindows(EnumWindowsProc,NULL);
    这样只会历遍顶层窗口,不会历到子窗口?
    如果要把整个windows的窗口都历遍,应该怎么做?
    EnumWindows"()和EnumChildWindows()应该要搭配来做一个怎么样的嵌套循环,才可以全历遍完?