用spy++只能得到部分标准控件的句柄,用EnumeChindWindows()等API也只能得到spy++能得到的控件的句柄,如何才能 得到其它程序窗口中用户自定义控件的句柄呢?如果不能得到 句柄,我如何才能对其操作呢?如何才能得到用户自定义控件(如列表框,文本框)的内容呢?
6 个解决方案
#1
试试FindwindowEx可以不
#2
将句柄设为全局的呗
#3
问题补充:我现在是要跑两个程序,程序A在运行,另一个程序B模拟人来操作程序A,而程序B不知道程序A的任何代码信息。所以程序B必须能得到程序A所有控件的句柄,才能给控件发消息,而Findwindow(),FindwindowEX(),EnumeWindows(),EnumeChildWindows()等API都不能得到程序A的用户自定义控件句柄,如何才能在程序B中得到程序A的用户自定义控件句柄呢?
#4
先声明一个自定义控件,并在声明控件的CLASS中加入Wndproc函数,用该函数返回该自定义控件的句柄。
#5
你没必要非得获取程序A的用户自定义控件句柄,
B可以发送一个自定义消息给A, 当A接收到这个消息的时候, A就知道你要干嘛了,这时A可以发送一个“B想发送的消息”给自定义控件就可以了。
B可以发送一个自定义消息给A, 当A接收到这个消息的时候, A就知道你要干嘛了,这时A可以发送一个“B想发送的消息”给自定义控件就可以了。
#6
发送给自定义控件的消息让A来发送, B只要通过A发送就可以了
#1
试试FindwindowEx可以不
#2
将句柄设为全局的呗
#3
问题补充:我现在是要跑两个程序,程序A在运行,另一个程序B模拟人来操作程序A,而程序B不知道程序A的任何代码信息。所以程序B必须能得到程序A所有控件的句柄,才能给控件发消息,而Findwindow(),FindwindowEX(),EnumeWindows(),EnumeChildWindows()等API都不能得到程序A的用户自定义控件句柄,如何才能在程序B中得到程序A的用户自定义控件句柄呢?
#4
先声明一个自定义控件,并在声明控件的CLASS中加入Wndproc函数,用该函数返回该自定义控件的句柄。
#5
你没必要非得获取程序A的用户自定义控件句柄,
B可以发送一个自定义消息给A, 当A接收到这个消息的时候, A就知道你要干嘛了,这时A可以发送一个“B想发送的消息”给自定义控件就可以了。
B可以发送一个自定义消息给A, 当A接收到这个消息的时候, A就知道你要干嘛了,这时A可以发送一个“B想发送的消息”给自定义控件就可以了。
#6
发送给自定义控件的消息让A来发送, B只要通过A发送就可以了