fisher
发表于 2011-10-20 23:03:45
卡在这了。
对高手来说就分分钟的事,我还不知道要多长时间。
正在看孙鑫的VC++视频教程。
oceanwind
发表于 2011-10-21 16:44:18
强烈观注ING
lynfr8
发表于 2011-10-22 18:52:16
本帖最后由 lynfr8 于 2011-10-22 18:55 编辑
看到楼主确实也花了不少心思去解决这个问题
我对这个控件也是非常陌生
不过有一个思路给你参考下
利用阿福的验证码OCR原理
因为你想获取的数据无非就是那些数字
这些数字没有变形,OCR还是比较容易做到的
我写了一个例子,你看看是否有启发
当然例子里的只是一个示例
如果要完美解决楼主的问题
还需要进行下面的步骤:
1.将1-9数字和点号还有百分号也进行学习
(注意截图的像素必须要满足以下条件:
$CodeNum=9;9个数字(这里根据你可能会出现的交易金额为准)
$CodeWidth=6 ;验证码宽度为6个点
$func_left=2 ;左边有2个点为空
$func_mid=2 ;中间有2个点为空
$func_top=5 ;上方有5行为空
$func_bottom=6 ;下方有6行为空打开画图软件放大就可以看到像素了
2.写监控界面代码要保证数据的截图范围要精确,识别才有效率和准确
3.获取数据进行运算,达到预设条件再自动交易
这个有耐心的话,按照这个思路还是能搞定的
希望楼主能尝试下
oceanwind
发表于 2011-10-22 22:06:06
看到楼主确实也花了不少心思去解决这个问题
我对这个控件也是非常陌生
不过有一个思路给你参考 ...
lynfr8 发表于 2011-10-22 18:52 http://www.autoitx.com/images/common/back.gif
东西就在那儿 却拿不到
如果真要从原软件读取
是要有把原软件大卸八块的能力吗?
oceanwind
发表于 2011-10-22 22:08:45
这个也不错 不过也不是从原文件读取
通用法http://www.autoitx.com/forum.php?mod=viewthread&tid=18621&highlight=%CE%C4%D7%D6
fisher
发表于 2011-10-22 22:32:12
本帖最后由 fisher 于 2011-10-22 23:14 编辑
非常感谢二位关注并提供思路。
一开始就想到用识图来实现。报警信号的获取最早也是想用识图,后来直接读数据成功了。
总感觉不如直接读数据来的可靠,所花的功夫也不少。也不知道运行速度怎么样
实际上就是vc++里的一个控件数据读取的问题,无奈对c++和控件双重的不熟悉,才导致困难重重。
第一步:在VC++能读取,正在编程尝试。
第二步:封装成一个DLL,在AU3里调用。
fisher
发表于 2011-10-24 16:45:21
回复 24# fisher
//编译的时候,是有3个选项的
a) As DLL
b) As Static Library, for using MFC as DLL
c) As Static Library, for using MFS as static library.
//我选择了b,所以,生成以上libs:S.lib, SD.lib, SU.lib, SUD.lib.
//如果选择了c),则会生成DS.lib, DSD.lib, DSU.lib, DSUD.lib//前面的D表示using mfc as dll
//如果选择了a),则会生成" ".dll, D.dll, U.dll, UD.dll.
====================================
三个都选,编译的的时候改选项才不会因为缺少文件而失败
oceanwind
发表于 2011-10-26 08:28:58
观注ING 来顶一下....
heilulu
发表于 2011-10-26 16:32:44
多谢分享了。{:face (239):}
fisher
发表于 2011-11-3 15:54:49
请教了若干高手,在AU3里知道控件类型很容易读出数据,在VC里竟然不能类推。
准备用CE试试了!
pusofalse
发表于 2011-11-3 16:13:53
屏幕取词,应该可以的吧。
sxpms
发表于 2011-11-3 21:50:50
我试过,屏幕取词对该控件无效
sxpms
发表于 2011-11-3 21:56:05
读内存的话,找地址也很难的,唯有图形判断最易实现
oceanwind
发表于 2011-11-4 19:15:06
帮顶一下........看用啥工具解决的....
fisher
发表于 2011-11-5 00:31:12
大功告成
明日再战