c# - 有没有办法获取 ListView 中子项的数量?

标签 c# listview interop

我正在编写一个 C# 应用程序,它需要从驻留在外部进程中的 ListView 控件中提取数据。

我已经有了提取数据和获取 ListView 中项目数量的代码,但我需要与以下子项目等效的代码:

    public int GetListViewRowCount()
    {
        if (list_view_handle != null)
        {
            return (int)UnManagedMethods.SendMessage(list_view_handle,
                (int)UnManagedMethods.W32_LVM.LVM_GETITEMCOUNT,
                IntPtr.Zero, IntPtr.Zero);
        }
        else return 0;
    }

我基本上是在寻找 LVM_GETSUBITEMCOUNT 类型消息提供的功能。

最佳答案

每次增加 iSubItem 的大小都需要发送 LVM_GETITEM(到其他进程),直到得到 FALSE。
不要忘记指向 pItem 的指针需要在其他进程中有效,因此您需要在不同进程上使用分配内存的方法。 Here is the link that I used in the past.

关于c# - 有没有办法获取 ListView 中子项的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/636682/

相关文章:

c# - 无法调用具有正确参数映射的方法

java - 单击时返回整个字符串的 Spannable 字符串

android - 如何动态隐藏 ListView 分隔符?

c# - 如何将托管结构放入 C++/native 中

c# - 在 c# webapi 中创建超媒体的正确方法

c# - 动态创建的文本框不更新

c# - 从 C# 调用 C++ dll 函数时出现问题

C# mono - 传递 stringbuilder 以填充 C++ 中的 unicode 内容

c# - 关于.net core应用的轻量级

android - 在扩展 ListView 的主 Activity 中设置 onItemClickListener