找回密码
 加入
搜索
查看: 7618|回复: 14

[AU3基础] (已解决)如何获得SysListView32类窗口的可见文本内容?

  [复制链接]
发表于 2011-9-29 16:06:43 | 显示全部楼层 |阅读模式
本帖最后由 fisher 于 2011-10-4 14:39 编辑

图1是某期货软件的截图,我想获取其中的期初权益、手续费、当前权益三个数据。
图2是用AU3窗口信息工具得到该控件信息的截图。

实际上就是想读取“可见文本”里的数据(图3)。

试过很多办法都没能读到,只能读取标题里的数据。

有过C的编程经历,对AU3不熟,请各位DX指点指点。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2011-9-29 18:38:53 | 显示全部楼层
你的那个窗口也不是IE窗口啊~
你这不是读到了么?
用WinGetText 获取里面的文本
用函数里的字符串操作处理获取到的文本~
得到你想要的数据
 楼主| 发表于 2011-9-29 21:52:04 | 显示全部楼层
要是有这么简单就好了。
用WinGetText,必须是图1的状态,也就是“资金”按钮被点下,如果是别的,就不行。
 楼主| 发表于 2011-9-29 21:57:28 | 显示全部楼层
同花顺的报警信息用AU3的窗口信息工具也看不到,怎么才能读到里面的数据?

报警信息是可以导出到EXCEL文件里,难道要多这道流程?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2011-9-30 03:11:57 | 显示全部楼层
第一个算是自己解决了,要一直开着“资金”窗口。

可同花顺的问题还没有,还望DX指点
 楼主| 发表于 2011-10-1 10:23:46 | 显示全部楼层
同花顺的报警信息用AU3的窗口信息工具也看不到,怎么隐身的?
 楼主| 发表于 2011-10-1 23:06:55 | 显示全部楼层
另外一个软件遇到同花顺同样的问题,明明有显示内容,用AU3的窗口信息工具却看不到。

有什么软件能截取到信息?
 楼主| 发表于 2011-10-3 18:22:11 | 显示全部楼层
只有都内存?
发表于 2011-10-3 19:22:53 | 显示全部楼层
那个是List窗口, 不是Txt,所以,你需要的不是GetTxt。
也有, 我见过!也只是见过!呵呵
发表于 2011-10-3 19:38:45 | 显示全部楼层
另外一个软件遇到同花顺同样的问题,明明有显示内容,用AU3的窗口信息工具却看不到。

有什么软件能截取到 ...
fisher 发表于 2011-10-1 23:06


Listview可以通过发送lvm_开头的消息来控制,如你的问题可以通过LVM_GETITEM消息获得列表项内容
同时,多说两句,同类问题:ListBox可以通过发送lb_开头的消息来控制,如通过LB_GETTEXT获得某项的内容。TreeView可以通过发送tvm_开头的消息来控制,如通过TVM_GETITEM消息来获得列表项内容
 楼主| 发表于 2011-10-4 10:01:22 | 显示全部楼层
多谢
这就去试试
 楼主| 发表于 2011-10-4 10:10:50 | 显示全部楼层
搜的资料
++++++++++++++
ListView控件在各类程序中,具有数据显示直观,操作方便的特点。所以使用率极高,但控件的各类参数众多,很多初学者不易掌握,在此列举该控件的一些常用方法,属性,希望对初学者有一定帮助。

   //2005年10月9日
   //代码编写:方志洪
   //ListView标头的代码创建方法。
   ColumnHeader title=new ColumnHeader(); //声明标头,并创建对象。
   title.Text="标头1名称"; //标头一显示的名称。
   title.Width=120; //标头一名称 的宽度。
   this.listView1.Columns.Add(title); //将标头添加到ListView控件。
   title=new ColumnHeader(); //注意,如果创建新标头必须 使用New创建新对象。
   title.Text="标头2名称";
   this.listView1.Columns.Add(title); //标头2我只设置名称,未设置宽度,这是允许的。


   //ListView控件中项的建立
   ListViewItem lvItem; //ListViewItem 成员,初学者可以暂时把该项理解为在Details模式中的一整行信息
   ListViewItem.ListViewSubItem lvSubItem; //表示 ListViewItem 的子项,也就是ListViewItem一行中的一列信息。
   lvItem=new ListViewItem();
   lvItem.Text="第一列信息";
   lvItem.Tag="与该项相关联的信息的对象"; //Tag可以付任何对象的值,比如字符串,数值型...我经常用该项保存调用数据库时不用显示的编号信息。
   lvItem.ImageIndex=0; //如果你添加了imageslist控件并设置了关联,在此可以选择需要显示的图标。
   lvSubItem=new System.Windows.Forms.ListViewItem.ListViewSubItem();
   lvSubItem.Text="第二列信息"; //声明及设置Item的子项。
   
   lvItem.SubItems.Add(lvSubItem); //将子项添加到Item中。
   //如果需要添加第2,3.....个子项需要重复上面的代码,声明一个添加一个。如:
   //lvSubItem=new System.Windows.Forms.ListViewItem.ListViewSubItem();
   //lvSubItem.Text="第三列信息";
   //lvItem.SubItems.Add(lvSubItem);
   //一点建议:在添加ListView中项的时候如果项较多可以使用
   
   //this.listView1.BeginUpdate();
   //......(添加Item项代码).
   //this.listView1.EndUpdate();
   
   //以便添加完项目后一次更新ListView控件。

  
   //下面介绍ListView控件读取当前选择行的代码
   private void listView1_Click(object sender, System.EventArgs e)  //ListView控件点击事件
   {
    if(this.listView1.SelectedItems!=null)  //判断ListView控件是否有项目选中
    {
     this.label5.Text=this.listView1.SelectedItems[0].Tag.ToString(); //读取Item中的Tag信息。
     this.textBox1.Text=this.listView1.SelectedItems[0].SubItems[1].Text ; //读取Item子项信息。
     this.textBox2.Text=this.listView1.SelectedItems[0].SubItems[2].Text;
     this.textBox3.Text=this.listView1.SelectedItems[0].SubItems[3].Text;
    }
   }
  //在这里对SelectedItems属性介绍一下,该属性代表ListView选中的行,
  //[0]就是选中的第一个,因为ListView控件允许一次选中多个行,
  //所以[0]代表第一个选中,[1]代表二个选中,依次类推。
  //SelectedItems.Count属性可返回目前选中行的数目。
  //SelectedItems[0].SubItems[1]中SubItems代表的就是Item的子项,也就是上面代码
  //lvSubItem=new System.Windows.Forms.ListViewItem.ListViewSubItem();
  //lvSubItem.Text="第二列信息";
  //创建的内容。


  //最后介绍一个常用的就是当前选择项的删除。
  if(this.listView1.SelectedItems!=null)
  {
   this.listView1.SelectedItems[0].Remove();
  }
  //提示:在读取和删除中如果需要多重选择的项进行处理可以使用For循环,如for(int i=0;i<SelectedItems.Count;i++)。
  //如有任何问题,欢迎在底下的评论中留言.
  //SleepingPig 方志洪 2005年10月9日。
 楼主| 发表于 2011-10-4 14:21:39 | 显示全部楼层
Listview可以通过发送lvm_开头的消息来控制,如你的问题可以通过LVM_GETITEM消息获得列表项内容
同时, ...
happytc 发表于 2011-10-3 19:38



    再次感谢。

实际上就是listview控件类的操作。

已全部读取到内容,下一步就是如何处理了。
发表于 2012-5-8 12:22:24 | 显示全部楼层
再次感谢。

实际上就是listview控件类的操作。

已全部读取到内容,下一步就是如何处理了。
fisher 发表于 2011-10-4 14:21



    能不能把代码分享出来呀?
发表于 2014-2-14 11:17:56 | 显示全部楼层
能不能把代码分享出来呀?
yufei8051 发表于 2012-5-8 12:22



人家自己的问题解决了,怎么还会来管你。别天真了。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-28 13:23 , Processed in 0.104204 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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