比如其他程序的一个窗体上有多个edit和combobox,已经得到了窗口的句柄,但是怎么判断哪个edit或者combobox是自己要控制的那个呢?
我不知道问题有没有描述清楚,希望大虾们帮助!

解决方案 »

  1.   

    控件的Id是唯一的么?怎么得到呢?提前找控件的id,然后在程序里判断么?
      

  2.   

    找控件和找窗口类似啊,因为控件的name 是唯一的
      

  3.   

    关键不是自己的程序啊,控件的name也没办法得到啊,每次打开的时候句柄都是不同的。
    窗口上有很多类名相同的控件,如何区分呢?
      

  4.   

    对的,控件位置相对不变,可是有的问题,edit是放在combobox里的,这样的话,根据位置还是有问题啊
      

  5.   

    一般程序不变的话,使用FINDWINDOWEX查找的控件顺序是不变的。所以findWindowEx(HPrnt,0,'ComboBox',nil) 就可以认定第一定找出的是哪个COMBOBOX,第二个找出的是哪个COMBOBOX。
      

  6.   

    hcombobox := findWindowEx(HPrnt,0,'ComboBox',nil)
    是第一次查找,第二次查找findWindowEx(HPrnt,hcombobox,'ComboBox',nil)
      

  7.   

    有的情况下,类名也是会变的。
    我现在遇到了。
    http://topic.csdn.net/u/20081117/10/d6c314eb-18d4-4343-b5d9-cdf95547c1e1.html比较头疼。