我这里有个软件是用delphi开发的,有个会员输入窗口要输入一些文本框数据,我现在想做一个小程序来自动输入文本框的数据,文本框的数据能通过查找句柄进行控件文本的填写,但是数据要根据会员输入窗口下方的控件显示内容来判断输入什么数据、数据是否成功写入数据库。网上查了一些资料,能获取控件的句柄,但不能提取控件文本,因本人是菜鸟,想在此求助高手帮忙写一段代码实现我想要的功能。另外能加上注释那就最好不过了。
下面是我要控制delphi开发的程序的界面我想要读取“卡号为空,不能写卡”这个区域显示的文字,我用了类似下面的方法可以取到文本文档的状态栏的文字,但是取不到这个界面的“卡号为空,不能写卡”这几个字。
部分代码
GetWindowThreadProcessId(hTargetWindow, lProcessID)
hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, lProcessID)
If hProcess = 0 Then Exit Sub
lpBuffer = VirtualAllocEx(ByVal hProcess, ByVal 0&, Len(s), MEM_COMMIT, PAGE_READWRITE)
If lpBuffer = 0 Then Exit Sub
lPartIndex = 1
Call SendMessage(hStatusBar, SB_GETTEXT, lPartIndex, ByVal lpBuffer)
Call ReadProcessMemory(ByVal hProcess, ByVal lpBuffer, ByVal s, Len(s), ByVal 0)
VirtualFreeEx hProcess, ByVal lpBuffer, 0, MEM_DECOMMIT
Debug.Print "状态栏"; lPartIndex + 1; "中的文字为:"; s
该控件在SPY中显示是属于TdxStatusBar类请教大家用什么办法可以读取到delphi写的TdxStatusBar控件的文本呢?
下面是我要控制delphi开发的程序的界面我想要读取“卡号为空,不能写卡”这个区域显示的文字,我用了类似下面的方法可以取到文本文档的状态栏的文字,但是取不到这个界面的“卡号为空,不能写卡”这几个字。
部分代码
GetWindowThreadProcessId(hTargetWindow, lProcessID)
hProcess = OpenProcess(PROCESS_ALL_ACCESS, False, lProcessID)
If hProcess = 0 Then Exit Sub
lpBuffer = VirtualAllocEx(ByVal hProcess, ByVal 0&, Len(s), MEM_COMMIT, PAGE_READWRITE)
If lpBuffer = 0 Then Exit Sub
lPartIndex = 1
Call SendMessage(hStatusBar, SB_GETTEXT, lPartIndex, ByVal lpBuffer)
Call ReadProcessMemory(ByVal hProcess, ByVal lpBuffer, ByVal s, Len(s), ByVal 0)
VirtualFreeEx hProcess, ByVal lpBuffer, 0, MEM_DECOMMIT
Debug.Print "状态栏"; lPartIndex + 1; "中的文字为:"; s
该控件在SPY中显示是属于TdxStatusBar类请教大家用什么办法可以读取到delphi写的TdxStatusBar控件的文本呢?
http://download.csdn.net/detail/mjp1234airen4385/1550580
我也在用,哈哈!