码迷,mamicode.com
首页 > Windows程序 > 详细

房产交易评估基准价格比对-Delphi外挂方式获取并修改其他程序输入框信息

时间:2016-11-24 22:11:24      阅读:325      评论:0      收藏:0      [点我收藏+]

标签:procedure   程序开发   房产交易   纳税申报   外挂软件   

2009年,房产交易契税实行新的政策,在系统录入的时候,需要实现交易价格和基准交易价格进行比对。但契税软件是VB程序开发的,已经很久没有更新,也没有源代码。要实现该功能,只能通过外挂的方式实现。

主要思路是用hook原系统的录入界面,当输入交易价格的时候,通过热键呼叫外挂软件,进行基准价格比对。比对过程需要读取原系统界面上的录入信息,并根据这些信息,如房屋朝向、楼层、建造年份、区域等综合因素查询事先录入数据库的基准价格,比对计算。大于等于基准价格的保留原价格,小于基准价格的,把外挂查询的总价发送到原系统录入界面的相应控件。

技术分享

主要程序代码如下:

技术分享

procedure TFrmMain.tm1Timer(Sender: TObject);

var

hts, hw: LongInt;

lsh: string;

buffer:array[0..255] of char;

begin

//cooling qq:21156410 http://xu-laoshi.cn

//判断

hw := FindWindow(nil, ‘契税纳税申报‘);

hts := FindWindow(nil ,‘提示‘);

if (hw <> 0) then

begin

if hts <> 0 then

begin

//取流水号

ClearList1;

EnumChildWindows(hts, @EnumChildWndProc1, 0);

SendMessage(LongInt(List1.Items[n_lsh]^), WM_GETTEXT, 255, longint(@buffer));

lsh := buffer;

lsh := Copy(lsh, 9, 15);

savexz(lsh);

end;

end else

begin

tm1.Enabled := false;

if self.Visible then self.Visible := false;

end;

end;

技术分享


procedure TFrmMain.btQdClick(Sender: TObject);

var

buffer:array[0..255] of char;

pgj, cjj: real;

pgjstr, cjjstr: String;

begin

//发送到vb程序

SendMessage(LongInt(List.Items[c_cjj]^), WM_GETTEXT, 255, longint(@buffer));

try

cjjstr := buffer;

if cjjstr = ‘‘ then cjjstr := ‘0‘;

cjj := strToFloat(cjjStr);

pgjstr := edZj.Text;

if pgjstr = ‘‘ then pgjstr := ‘0‘;

pgj := strToFloat(pgjstr);

if cjj > pgj then

begin

pgj := cjj;

end;

except

exit;

end;

pgjstr := Format(‘%.2f‘, [pgj]);

SendMessage(LongInt(List.Items[c_pgj]^), WM_SETTEXT, 0, longint(pgjstr));

Self.Visible := false;

tm1.Enabled := true;

end;


房产交易评估基准价格比对-Delphi外挂方式获取并修改其他程序输入框信息

标签:procedure   程序开发   房产交易   纳税申报   外挂软件   

原文地址:http://8516023.blog.51cto.com/8506023/1876289

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!