我知道一个FORM的句柄,但是里面一个RICHEDIT控件的“标题文本”(通过SPY++查找所得)不断变化,“标题文本”内容是提示输入的几行提示信息,且中间有回车,如何获取其句柄?大家能否给点提示。谢谢
举个例子:文本内容:“PLEASE ENTER YOUR ID,
回车
回车(两个)
MUST BE 12 CHARACTERS:
回车
IF YOU HAVE ANY QUESTION..."这个内容是固定的,输入12个字符以后就会变成下个完全不同的提示信息》
举个例子:文本内容:“PLEASE ENTER YOUR ID,
回车
回车(两个)
MUST BE 12 CHARACTERS:
回车
IF YOU HAVE ANY QUESTION..."这个内容是固定的,输入12个字符以后就会变成下个完全不同的提示信息》
“PLEASE ENTER YOUR ID,
回车
回车(两个)
MUST BE 12 CHARACTERS:
回车
IF YOU HAVE ANY QUESTION..."
3/类样式值:16520
类样式:
CS_DBLCKS
CS_GLOBALCLASS
CS_PARENTDC如有必要,请留邮箱,我将相关SPY++图片发过去,另外再给追加分.
http://topic.csdn.net/t/20051119/20/4405082.html
http://topic.csdn.net/t/20051119/20/4405082.html谢谢楼上的强力关注,所提供的贴子确实不错,不过昨晚刚发现通过鼠标取词的方法对我更简单,楼上的分数绝对不会少给的.但是现在我发现取得当前窗口(RICHEDIT)的句柄比较麻烦,我搞不定,是一个四级的子窗口,其父窗口类名是:static 标题:vbnullstring ,且句柄Hwnd已获得.但是当前窗口(RICHEDIT)句柄tHwnd没办法获取,不知到大家有什么更好的方法:昨晚我想过两种思路,但是返回都是零,郁闷中
1/ tHwnd=findwindowex(Hwnd,&0,"static",str) str是RICHEDIT标题,标题不断变化,且如上所述,有回车换行.2/ 获取光标当前所在位置的窗口句柄,也就是RICHEDIT句柄,可能我不会用,用GetCarePOS,ClienttoScreen,WindowFromPoint三个API返回也是零郁闷中,请高手给予赐教!
上面的每一层句柄都找到的,而且我调试过了!
dim ss as string
ss="
回车换行
PLEASE ENTER YOUR ID,
回车换行
回车换行
MUST BE 12 CHARACTERS:
回车换行
IF YOU HAVE ANY QUESTION..." 'aHwnd = GetForegroundWindow ' hwnd is the handle to the foreground window
' Debug.Print dHwnd
aHwnd = FindWindow("GR_Execution_Class", "228X Production -C:\user\10040.obc - Runtime System")
Debug.Print aHwnd
if aHwnd>0 then
bHwnd = FindWindowEx(aHwnd, ByVal 0&, "#32770", "Template 2")
Debug.Print bHwnd
end if
if bHwnd then
cHwnd = FindWindowEx(bHwnd, ByVal 0&, "static", vbNullString)
Debug.Print cHwnd
end if
If cHwnd <> 0 Then
dHwnd = FindWindowEx(cHwnd, ByVal 0&, "RICHEDIT",ss)
debug.print dHwnd
end ifdHwnd 返回0
所以想过用获取光标所在的位置句柄,但是没成功,不知道知道其父窗口句柄cHwnd及自身窗口类名"RICHEDIT",,是否有什么好的API可以获取其窗口句柄dHwnd?