由于现在大部分银行还是在用恐龙时代的IE,没得法, 要跟ERP连起来付款进行风控。
找了一个基础BHO,登陆后可下载
https://www.codeproject.com/script/Articles/Download.aspx?file=/KB/shell/Attach_BHO_with_C_/BHO_HelloWorld.zip
然后思路是注入一段js,生成一个按钮,要求付款单在保存的时候点一下,一来检查是否用当前公司付款,二来检查金额,三来检查收款方。
在OnDocumentComplete中写下:
if (document.url.IndexOf("bank.com") > 0) { document.title = "资:" + document.title; string jsCode = @"function showbutton(){if(document.querySelector('#myusers')==null){try{let parent=document.querySelector('#userNameForm');let userAdiv=document.createElement('div');userAdiv.id='myusers';var button=""<input style='height: 34px; 264px;' id='btn_mybutton' type='button' title='检查数据' value='提交检查'>"";userAdiv.innerHTML=button;parent.insertBefore(userAdiv,parent.childNodes[8]);document.querySelector('#myusers').addEventListener('click',function(e){alert('ok')},true)}catch(e){}}}"; string IjsCode = @"var jscode =document.createElement('script');jscode.type = 'text/javascript';jscode.text = "+ jsCode + ";document.body.appendChild(jscode);"; document.parentWindow.execScript(IjsCode); document.parentWindow.execScript("showbutton()"); }
效果:
生成dll后(本人用的vs2019),在vs cmd下管理员启动, 直接注册,即可使用
regasm /codebase "BHOHelloWorld.dll"
注销
regasm /unregister "BHOHelloWorld.dll"