温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》
  • 首页 > 
  • 教程 > 
  • 开发技术 > 
  • 房产交易评估基准价格比对-Delphi外挂方式获取并修改其他程序输入框信息

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

发布时间:2020-07-11 19:41:14 来源:网络 阅读:581 作者:coolingxyz 栏目:开发技术

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

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

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

主要程序代码如下:

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

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;

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


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;


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI