找回密码
 加入
搜索
楼主: fisher

[AU3基础] (已解决)控件XTPReport的内容如何读取

 火.. [复制链接]
发表于 2011-10-13 20:28:47 | 显示全部楼层
那东西,用屏幕取词都没法读的,估计就是抓图识别的笨办法了
 楼主| 发表于 2011-10-13 23:01:38 | 显示全部楼层
1、用CE,感觉不太靠谱
2、弄个UDF,自己先尝试一下吧
 楼主| 发表于 2011-10-14 00:53:17 | 显示全部楼层
搜了一下,可能用到的帖子:
在Autoit中实现VB的Timer控件http://www.autoitx.com/thread-472-1-8.html
 楼主| 发表于 2011-10-14 00:54:38 | 显示全部楼层
转帖Autoit系统消息详解——GUI通知补充http://www.autoitx.com/thread-110-1-8.html

[原创] 如何用AU3调用自己用VC++写的dll函数http://www.autoitx.com/thread-18428-1-8.html
 楼主| 发表于 2011-10-14 00:57:17 | 显示全部楼层
[原创] 学习dllcall啦……http://www.autoitx.com/thread-17108-1-5.html

转帖Autoit系统消息详解——GUI通知http://www.autoitx.com/thread-111-1-5.html
 楼主| 发表于 2011-10-14 00:58:21 | 显示全部楼层
[原创] 句柄和ID,新手可以看下http://www.autoitx.com/thread-19208-1-5.html

[原创] UDF(用户定义的函数参考)http://www.autoitx.com/thread-4964-1-3.html
 楼主| 发表于 2011-10-14 01:00:21 | 显示全部楼层
[原创] 你DllCall了吗?http://www.autoitx.com/thread-18816-1-3.html

[转贴] windows消息大全http://www.autoitx.com/thread-16744-1-2.html
 楼主| 发表于 2011-10-14 01:50:46 | 显示全部楼层
 楼主| 发表于 2011-10-14 06:39:35 | 显示全部楼层
Xtreme Toolkit Pro 安装编译详解
这个库在VC下是非常好用的,在好朋友的帮助下快速安装成功,这里做一下详细的步骤:
1.先下载Codejock.Xtreme.Toolkit.Pro.v13.2.1
2.安装的时候一路下一步
3.安装完以后会出一个新的配置窗口,这里你可以跟据需要是否选择UNICODE的版本
或者DLL 还是静态的LIB方式这里推荐LIB用LIB发布时不用带DLL了。
4.选择完成后,会弹出一个CMD窗口开始自己编译,这个过程 比较慢慢5分钟到10分钟不等
5.编译完后,你可以编译例子了,编译前做一下设置,在Project->Setting->General->Microsoft Foundation Classes中选择
Use MFC in a Static Library就可以编译了。

静态链接注意事项
1)程序动态链接到MFC库情况下,静态链接到XTP
2)程序动态静态到MFC库情况下,静态链接到XTP
不论哪种情况,配置_XTP_STATICLINK都可以使能静态链接,静态链接时记得在你工程里的rc2文件中,包含如下语句,否则调用XTP中的资源时会发生异常。
  #include <XTToolkitPro.rc>
由于toolkit安装时,编译生成相应的lib非常慢,我当时只生成了静态的库。分别是:
ToolkitPro1321vc80S.lib
  ToolkitPro1321vc80SD.lib
  ToolkitPro1321vc80SU.lib
  ToolkitPro1321vc80SUD.lib
其中,S表示static, 后面的D表示debug, U表示unicode,
//编译的时候,是有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.

假定xtreme toolkit安装在:C:\Program Files下。
则比如会有如下目录存在:C:\Program Files\Codejock Software\MFC\Xtreme ToolkitPro v13.2.1\Source
然后在项目属性中需要修改如下设置:
a) c/c++ | 常规 | 附加包含目录,增加“C:\Program Files\Codejock Software\MFC\Xtreme ToolkitPro v13.2.1\Source”
b) 链接器 | 常规 | 附加库目录:增加“C:Program Files\Codejock Software\MFC\Xtreme ToolkitPro v13.2.1\Lib\vc80”
c) 链接器 | 输入 | 忽略特定库,增加“libcd.lib”。如果遵照文档,还需要忽略更多。我这就先填这个了。
d) 资源 | 常规 | 附加包含目录,增加“C:\Program Files\Codejock Software\MFC\Xtreme ToolkitPro v13.2.1\Source”
然后,在代码中需要进行如下修改:
a) 在stdafx.h末尾增加 #include "XTToolkitPro.h"
b) 在xx.rc2末尾增加   #include "XTToolkitPro.rc"
c) 然后就是在mainfrm.h中的声明中加入继承关系:
class CMainFrame : public CXTPMDIFrameWnd
然后就可以顺利编译通过了。

注意:千万不要将xtreme toolkit的任何东西加入到项目中。我之前就把XTPResource.h, XTToolkitPro.h, XTToolkitPro.rc加入到项目中,然后报cvt1100:重复资源,type:BITMAP,...错误。

动态编译注意事项
其实,和静态编译很像。静态编译可以参考我之前的“xtreme toolkit静态编译注意事项 ”只不过需要xtreme toolkit的.dll拷贝到system32下。或者放在exe的输出目录下。
 楼主| 发表于 2011-10-14 23:54:20 | 显示全部楼层
貌似找到解决途径了

先在xtreme toolkit里能“看见”所要数据,再在AU3里调用,也就是弄个UDF

有难度!
 楼主| 发表于 2011-10-16 09:59:20 | 显示全部楼层
MFC各种指针的获取
http://www.2cto.com/kf/201108/98901.html
 楼主| 发表于 2011-10-18 23:54:27 | 显示全部楼层
咨询一位,说是可以这么写
/*假设该控件名为m_wndReportCtrl,那么可以这么读取他的数据:
int nRecords=m_wndReportCtrl.GetRecords()->GetCount();//总行数
int nCols=m_wndReportCtrl.GetColumns()->GetCount();//总列数
if (nRecords>0)
{
for (int i=0;i<nRecords;i++)
{
CXTPReportRecord* pRecord=m_wndReportCtrl.GetRecords()->GetAt(i);//第i行
if (pRecord)
{
for (int j=0;j<nCols;j++)
{
CXTPReportRecordItemText* pItem=pRecord->GetItem(j);//第i行的第j个单元格(此处假设所有单元格存储的都是CXTPReportRecordItemText类数据)
CString sText=pItem->GetValue();//获取该单元格数据
}
}
}
}*/
 楼主| 发表于 2011-10-18 23:58:49 | 显示全部楼层
囫囵吞枣看了几本C++的书,现在只会这么多
在C++里获取父窗口,子窗口的句柄,再怎么读这子窗口的数据就不会了,尽管有上述提示。

高人来指点指点呀

#include <windows.h>
#include <iostream.h>

  int main()
  {
          HWND LKhwnd=::FindWindow(NULL,"雷凯投资期货交易  - [IF1110]");

HWND ZJhwnd=::FindWindowEx(LKhwnd,NULL,"XTPDockingPaneTabbedContainer","资金");


cout<<LKhwnd <<endl<<ZJhwnd <<endl;

  return 0;
 楼主| 发表于 2011-10-19 12:28:34 | 显示全部楼层
有DX知道VC++有哪些好的论坛?
发表于 2011-10-20 18:44:51 | 显示全部楼层
顶一下  偶刚好也在求自动化交易 看样子 你的水平要高许多...
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 15:01 , Processed in 0.071211 second(s), 14 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表