Controls.pas单元中有一个FindControl函数,通过句柄获得对应的TWinControl对象。
function FindControl(Handle: HWnd): TWinControl;
begin
Result := nil;
if (Handle <> 0) then
begin
if GlobalFindAtom(PChar(ControlAtomString)) = ControlAtom then
Result := Pointer(GetProp(Handle, MakeIntAtom(ControlAtom)))
else
Result := ObjectFromHWnd(Handle);
end;
end;
由于,进程间内存地址是相对的,所以直接访问这个对象会出现内存异常。
procedure InitControls;
var
UserHandle: HMODULE;
begin
WindowAtomString := Format('Delphi%.8X',[GetCurrentProcessID]);
WindowAtom := GlobalAddAtom(PChar(WindowAtomString));
ControlAtomString := Format('ControlOfs%.8X%.8X', [HInstance, GetCurrentThreadID]);
ControlAtom := GlobalAddAtom(PChar(ControlAtomString));
RM_GetObjectInstance := RegisterWindowMessage(PChar(ControlAtomString));
//...
end;
另外FindControl函数用到的变量(如:WindowAtomString)和具体线程ID有关。
大概的步骤是:
1、创建一个hook,以便跨进程访问内存空间;
2、自定义FindControl方法,按目标窗体所在线程组装参数;
3、获得TWinControl对象;
4、通过WM_COPYDATA消息返回查询内容。
http://blog.csdn.net/zswang
没有合适的资源?快使用搜索试试~ 我知道了~
税控发票开票软件(税控盘版)开票组件-百旺开票组件
共56个文件
pas:5个
res:5个
dpr:5个
4星 · 超过85%的资源 需积分: 49 70 下载量 7 浏览量
2015-10-31
09:38:50
上传
评论 11
收藏 1.18MB RAR 举报
温馨提示
百旺开票组件 本程序适用于 税控发票开票软件税控盘版 Sniffer文件夹内有三个工程 SnifferLib.dpr 这个为hookdll工程 SnifferApp.dpr 这个为exe工程 提供调用实例 Sniff.dpr 这个是为了方便调用进行的封装 进销存系统可以调用里面的function SayHello( title:PChar; mx:PChar):PChar;stdcall; 即可完成单据的导入 第一个参数为单据信息 第二个参数为明细信息 返回值为增值税票信息 这里面有一个查找窗口的代码要根据不同省份进行修改 FindWindow('TCustomBaseForm', '河南增值税普通发票开具'); 使用时要注意先打开开票窗口
资源推荐
资源详情
资源评论
收起资源包目录
税控发票开票软件(税控盘版)开票组件-百旺开票组件.rar (56个子文件)
bin
aaa.fff 3KB
Sniff.dll 363KB
SnifferApp.exe 401KB
Delphi6Demo.exe 781KB
SnifferLib.dll 514KB
Delphi2006Demo.exe 397KB
Sniffer
SniffdllUnit.pas 5KB
Sniffer.pas 43KB
Sniffer.dcu 14KB
Sniffer.~pas 42KB
SnifferUnit.pas 4KB
Sniff.dof 2KB
SnifferUnit.dcu 7KB
Sniff.~dpr 753B
SnifferApp.dpr 220B
SniffdllUnit.dcu 5KB
SnifferUnit.~pas 4KB
Sniff.res 876B
SnifferApp.dof 3KB
SnifferLib.dpr 125B
SnifferUnit.dfm 1KB
SnifferLib.~dpr 125B
Sniff.dpr 753B
SnifferApp.cfg 398B
SnifferLib.dof 2KB
Sniff.cfg 446B
SnifferApp.res 876B
SniffdllUnit.~pas 5KB
SnifferLib.res 876B
SnifferUnit.~dfm 1KB
SnifferUnit.ddp 51B
SnifferLib.cfg 398B
SnifferUnit.~ddp 51B
Readme.txt 1KB
TurboDelphi
__history
Delphi2006Demo.dpr 196B
Delphi2006Demo.res 4KB
Unit1.dfm 696B
Unit1.pas 383B
Delphi2006Demo.cfg 500B
Delphi2006Demo.bdsproj 8KB
Delphi2006Demo.bdsproj.local 1KB
Delphi2006Demo.identcache 209B
Delphi6
Delphi6Demo.res 876B
Project1.exe 450KB
Delphi6Demo.cfg 398B
Delphi6Demo.dpr 191B
Unit1.~dfm 695B
Unit1.dfm 2KB
Unit1.ddp 51B
Unit1.pas 737B
Delphi6Demo.dof 3KB
Unit1.~ddp 51B
Unit1.~pas 381B
Unit1.dcu 5KB
说明.txt 747B
清除临时文件.bat 81B
共 56 条
- 1
资源评论
- stunix2016-05-09东西不错 需要税控盘
- 二货屁孩2018-08-24东西不错 需要税控盘
- ihh2016-06-21对我没有什么用,也许是因为我用的是税控钥匙。
az44yao
- 粉丝: 356
- 资源: 27
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功