外程序是VB的编写的,类名: ApexGrid.19
想通过delphi编写程序获取到ApexGrid.19中的行与列与相应的数据,在网上查资料说可以通过Hook实例化ApexGrid对应delphi的控件,但不知道ApexGrid对应delphi的什么控件,
搞了半天头都大了,请高手帮忙
想通过delphi编写程序获取到ApexGrid.19中的行与列与相应的数据,在网上查资料说可以通过Hook实例化ApexGrid对应delphi的控件,但不知道ApexGrid对应delphi的什么控件,
搞了半天头都大了,请高手帮忙
function FindControl(Handle: HWnd): TWinControl;
var
OwningProcess: DWORD;
ControlAtomString :string;
ControlAtom :TAtom;
RM_GetObjectInstance : dword;
begin
ControlAtomString := Format('ControlOfs%.8X%.8X', [HInstance, GetCurrentThreadID]);
ControlAtom := GlobalAddAtom(PChar(ControlAtomString));
RM_GetObjectInstance := RegisterWindowMessage(PChar(ControlAtomString));
Result := nil;
if (Handle <> 0) and (GetWindowThreadProcessID(Handle, OwningProcess) <> 0) and
(OwningProcess = GetCurrentProcessId) then
begin
Result := Pointer(SendMessage(Handle, RM_GetObjectInstance, 0, 0));
end;
end;调用
SG := Pointer(FindControl(P^.DestWnd));
var SG: TDBGrid;