fisher 发表于 2011-9-29 16:06:43

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

本帖最后由 fisher 于 2011-10-4 14:39 编辑

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

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

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

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

iori2882 发表于 2011-9-29 18:38:53

你的那个窗口也不是IE窗口啊~
你这不是读到了么?
用WinGetText 获取里面的文本
用函数里的字符串操作处理获取到的文本~
得到你想要的数据

fisher 发表于 2011-9-29 21:52:04

要是有这么简单就好了。
用WinGetText,必须是图1的状态,也就是“资金”按钮被点下,如果是别的,就不行。

fisher 发表于 2011-9-29 21:57:28

同花顺的报警信息用AU3的窗口信息工具也看不到,怎么才能读到里面的数据?

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

fisher 发表于 2011-9-30 03:11:57

第一个算是自己解决了,要一直开着“资金”窗口。

可同花顺的问题还没有,还望DX指点

fisher 发表于 2011-10-1 10:23:46

同花顺的报警信息用AU3的窗口信息工具也看不到,怎么隐身的?

fisher 发表于 2011-10-1 23:06:55

另外一个软件遇到同花顺同样的问题,明明有显示内容,用AU3的窗口信息工具却看不到。

有什么软件能截取到信息?

fisher 发表于 2011-10-3 18:22:11

只有都内存?

chenronting 发表于 2011-10-3 19:22:53

那个是List窗口, 不是Txt,所以,你需要的不是GetTxt。
也有, 我见过!也只是见过!呵呵

happytc 发表于 2011-10-3 19:38:45

另外一个软件遇到同花顺同样的问题,明明有显示内容,用AU3的窗口信息工具却看不到。

有什么软件能截取到 ...
fisher 发表于 2011-10-1 23:06 http://www.autoitx.com/images/common/back.gif

Listview可以通过发送lvm_开头的消息来控制,如你的问题可以通过LVM_GETITEM消息获得列表项内容
同时,多说两句,同类问题:ListBox可以通过发送lb_开头的消息来控制,如通过LB_GETTEXT获得某项的内容。TreeView可以通过发送tvm_开头的消息来控制,如通过TVM_GETITEM消息来获得列表项内容

fisher 发表于 2011-10-4 10:01:22

多谢
这就去试试

fisher 发表于 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.Tag.ToString(); //读取Item中的Tag信息。
   this.textBox1.Text=this.listView1.SelectedItems.SubItems.Text ; //读取Item子项信息。
   this.textBox2.Text=this.listView1.SelectedItems.SubItems.Text;
   this.textBox3.Text=this.listView1.SelectedItems.SubItems.Text;
    }
   }
//在这里对SelectedItems属性介绍一下,该属性代表ListView选中的行,
//就是选中的第一个,因为ListView控件允许一次选中多个行,
//所以代表第一个选中,代表二个选中,依次类推。
//SelectedItems.Count属性可返回目前选中行的数目。
//SelectedItems.SubItems中SubItems代表的就是Item的子项,也就是上面代码
//lvSubItem=new System.Windows.Forms.ListViewItem.ListViewSubItem();
//lvSubItem.Text="第二列信息";
//创建的内容。


//最后介绍一个常用的就是当前选择项的删除。
if(this.listView1.SelectedItems!=null)
{
   this.listView1.SelectedItems.Remove();
}
//提示:在读取和删除中如果需要多重选择的项进行处理可以使用For循环,如for(int i=0;i<SelectedItems.Count;i++)。
//如有任何问题,欢迎在底下的评论中留言.
//SleepingPig 方志洪 2005年10月9日。

fisher 发表于 2011-10-4 14:21:39

Listview可以通过发送lvm_开头的消息来控制,如你的问题可以通过LVM_GETITEM消息获得列表项内容
同时, ...
happytc 发表于 2011-10-3 19:38 http://www.autoitx.com/images/common/back.gif


    再次感谢。

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

已全部读取到内容,下一步就是如何处理了。

yufei8051 发表于 2012-5-8 12:22:24

再次感谢。

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

已全部读取到内容,下一步就是如何处理了。
fisher 发表于 2011-10-4 14:21 http://www.autoitx.com/images/common/back.gif


    能不能把代码分享出来呀?

miskya 发表于 2014-2-14 11:17:56

能不能把代码分享出来呀?
yufei8051 发表于 2012-5-8 12:22 http://www.autoitx.com/images/common/back.gif


人家自己的问题解决了,怎么还会来管你。别天真了。
页: [1]
查看完整版本: (已解决)如何获得SysListView32类窗口的可见文本内容?