bdragon 发表于 2010-4-12 15:40:26

怎么整行读取外部listview?

controllistview里的GetText每次只能读取一个,而我想要一次读取一行。因为每次读取一个的话,当 读第二个的时候会跟第一个有时间差。我要读取的目标是在不断更新的,所以如果每次读取一个的话,当更新的时候就会读错。

哪位高手帮帮忙 想个办法 一次读取一行 中间没有时间间隔 这样就不会读错。。。。

期待高人点播

bdragon 发表于 2010-4-12 16:10:04

好像还是没有人知道啊。。。。

郁闷。。。。。

zhangla 发表于 2010-4-12 19:21:27

你的要求有点高,脚本语言可能实现起来不那么容易,最好用vc一类的语言。

bdragon 发表于 2010-4-13 09:09:49

回复 3# zhangla

谢谢 不好意思我不是学计算机的 所以对语言不是很了解 您说的那个vc是怎样的语言
它能在au3上应用吗?还是要另外的软件?

zhangla 发表于 2010-4-16 12:56:04

回复 4# bdragon


    不会吧,vc都不知道。google下吧。

afan 发表于 2010-4-16 13:32:09

$handle = WinGetHandle('Program Manager')
$ctrl = ControlGetHandle($handle, '', 'SysListView321')
$sub = ControlListView($handle, '', 'SysListView321', 'GetSubItemCount')
$count = ControlListView($handle, '', $ctrl, 'GetItemCount')
Dim $array[$count][$sub], $out
For $i = 0 To $count - 1
        For $x = 0 To $sub - 1
                $array[$i][$x] = ControlListView($handle, '', $ctrl, 'GetText', $i, $x)
                $out &= $array[$i][$x] & @TAB
        Next
        MsgBox(0, 0, $out)
        $out = ''
Next

bdragon 发表于 2010-4-19 19:35:20

回复 6# afan


   很感谢你的回复
但是你的代码只能一个一个读取 也就是一个点
我要的是一次读取一个面
因为你的代码是在整个listview的内容不变的情况下的
但是如果listview在不断的更新的时候 这个读取的方法就会出错
注:每次新的数据都是在第一行插入一行 也就是每次更新的时候 0坐标会变化

afan 发表于 2010-4-19 20:30:29

回复afan


   很感谢你的回复
但是你的代码只能一个一个读取 也就是一个点
我要的是一次读取一个面 ...
bdragon 发表于 2010-4-19 19:35 http://www.autoitx.com/images/common/back.gif

循环读取第一行?

bdragon 发表于 2010-4-19 22:08:41

回复 8# afan

不一定是第一行
但是一次要读取一行 不是一个坐标点 比如(0,0)
而是(0,*)这样就是第一行

afan 发表于 2010-4-19 23:05:01

貌似你是需要“线”,既非“点”也非“面”……
话说,线是由点组成的,要获取线必由点起。

如果有函数获取类似的组合,函数内部应该也是获取各个部分再组合输出的,没有时间差是不可能的,只是可以忽略不计而已。

个人看法~

sanhen 发表于 2010-4-20 02:28:49

不妨试下这个。。。。#Include <GuiListView.au3>
#include <Array.au3>

$hListView = ControlGetHandle("", "", "SysListView321")
$aItem=_GUICtrlListView_GetItemTextArray($hListView, 1)
_ArrayDisplay($aItem,"Test")

afan 发表于 2010-4-20 02:47:20

传说中的老大现身了…… LZ有眼福了~

nmgwddj 发表于 2010-4-20 05:05:16

是呢 他咋忽然冒出来了

bdragon 发表于 2010-4-20 09:46:51

回复 10# afan

读取点是有时间差 避免不了 但是如果我要读取点 就肯定要先确定具体的子项目 项目是
什么 但是等你确定了项目子项目之后再去读的时候 很有可能他有更新了 也就是他的项目子项目变了
这样就会读错

bdragon 发表于 2010-4-20 09:48:08

回复 11# sanhen

这个好像是读取GUI 的吧
但是我要读取的是外部程序的listview
好像不行吧
页: [1]
查看完整版本: 怎么整行读取外部listview?