通达信CTRL+A批量标注的实现方法

阅读 作者:股海网时间 2020-10-27 股软教程

和谐作品都开通了多字标注+批量标注。这其中纶巾羽扇老师的7.49(5月10日版)最完善,支持CTRL+Q和CTRL+A两种批量标注方式。而多数其它作品就只有CTRL+Q一种方式了。而且。除了羽扇老师的版本支持CTRL+Q批量删除标注外,其它的都要去CTRL+A对话框,批量删除标注。

CTRL+Q批量标注的好处是便捷,不足是要依赖屏幕上的选择,一次操作数量受屏幕限制。这里分享两个用CTRL+A实现批量标注的方法。

1)模拟CTRL+Q,这个可以满足习惯了用CTRL+A批量操作者的路径依赖。

进入批量操作对话框后,按ESC退出对话框,再按CTRL+Q,就可以实现通过CTRL+Q的批量标注。程序修改就是,进入批量操作对话框后,当选择文字标注时,发送模拟键盘按键序列:ESC、CTRL+Q。参考代码如下。
call      dword ptr ds:[<&USER32.GetActiveWindow>] ; user32.GetActiveWindow
mov     esi, eax
push    0x4                                      ; GW_OWNER
push    esi                                      ; hWnd_Child
call      dword ptr ds:[<&USER32.GetWindow>]       ; user32.GetWindow
mov     ebp, eax
push    0x0                                      ; lParam =0
push    0x1B                                     ; wParam = 'esc'
push    0x100                                    ; WM_KEYDOWN
push    esi                                      ; hWnd
call      dword ptr ds:[<&USER32.SendMessageA>]    ; user32.SendMessageA
push    0x0                                      ; lParam = 0
push    0x83FC                                   ; wParam = 33788(CTRL+Q)
push    0x111                                    ; WM_COMMAND
push    ebp                                      ; hWnd_Paraent
call      dword ptr ds:[<&USER32.PostMessageA>]    ; user32.PostMessageA

2)在CTRL+A中的直接实现
CTRL+A是针对一个板块全部股票轮巡,找出选择(前面打勾)的,进行批量操作,对于文字标注,每次要输入文字。这个不满足要求,我们要做的就是第一次遇到选择的股票时,弹出文字输入对话框,后面的直接用第一次录入的文字。这要求,a)保存第一次获得的文字,b)后面遇到打勾的股票在要弹出对话框时,直接用前面保存的文字替代。具体实现有些复杂,好在玺龙老师已经基本实现了,仅需要少量修改,就是 a)进入补码的时机,不是从轮巡股票的开始,而是遇到第一个文字输入对话框之后,b)补码的结束位置,不能直接跳回循环的开始,而是条件判断,当轮巡次数小于板块中股票数时跳回循环开始,否则,跳到调用返回处理。

进入时机修改的补码如下
mov     dword ptr ds:[0x1BD92CA],eax                ;保存股票是否被选择的标志
je      tdxw_mar.0040DB69
jmp     tdxw_mar.0040DA41
push    eax                                                       
mov     eax,dword ptr ds:[0x1BD92CA]
test    eax,eax
pop   eax
jje      tdxw_mar.01BD92F0
jmp     tdxw_mar.01BD9018                                ;进入玺龙老师的补码
cmp     ebp,eax
jl      tdxw_mar.0040DA30
jmp     tdxw_mar.0040DB7B

以上仅为实现的一种方式参考,没有程序修改基础的不必纠结。有了方法,更多老师会提供这个功能的。  

上传会员: 
股海网
上传时间: 
2020-10-27
下载积分: 
-
免责申明: 
请仔细阅读并同意后才能下载
本附件为论坛用户分享上传,股海网没有对文件进行验证,不能保证下载资源的准确性、安全性和完整性,也不保证下载资源能正常安装和使用,且下载后扣除的积分无法退还,除非您充分理解并完全接受本声明,否则您无权下载。
本站对提供下载的软件、指标、资料等不拥有任何权利,其版权归该下载资源的合法拥有者所有。本附件仅供学习和研究,不得用于商业或非法用途,如有侵犯您的版权,请参看 《侵权处理流程》《免责声明条款》
点击下载无反应时,更换手机自带浏览器重登录操作,如华为浏览器,苹果Safari浏览器,第三方浏览器有不兼容现象,或先收藏再到电脑端下载
同意以上声明才能下载,扣除积分无法退还!
我已知晓! 点我同意 所有条款自愿下载!
如有问题请点关闭提交问题反馈→
关闭
收藏
全部评论共 0 条

问题反馈 取消