TStringGrid

来源:百度知道 编辑:UC知道 时间:2024/06/12 21:28:14
有个exe程序的窗口里有个用来显示数据的TStringGrid(用spy++查出来的)
我想自己编一个程序(vc或vb),把TStringGrid里的字符串读出来,得到它
该怎么做?

思路用api

第一步:用findwindow获取那个exe窗口句柄
第二步:用findwindowex获取TStringGrid的句柄
第三步:用sendmessage来获取tstringgrid内的数据
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const WM_GETTEXT = &HD

Private Sub Command1_Click()
Dim WindowHandle As Long, ChildWindowHandle As Long
Dim sBuffer As String
WindowHandle = FindWindow(vbNullString, "这里填上窗口名字")
If WindowHandle Then
ChildWindowHandle = FindWindowEx(WindowHa