如何解决从任务管理器详细信息列表视图中获取项目
我试图在标签 details
下获取任务管理器列表视图中的项目列表。
我可以使用 ListView_GetItemCount(hwnd)
(一种 winapi 方法)获取大多数信息,例如项目计数,它返回 260
,这是任务管理器列表视图中的进程列表,还可以使用 {{1 }} 成功地。
但是当我尝试获取项目的文本,或按字符串搜索,或获取项目或列的特定索引上的文本时,它只会返回空字符串。
ListView_GetColumn(hwnd)
问题是什么?不只显示文本是否受到保护?因为我可以得到其他一切。我可以使用什么方法来获取文本?
解决方法
携带结构指针的
ListView_...()
宏/LVM_...
消息(如 LVITEM*
)无法跨进程边界封送这些结构。这些宏/消息只能在拥有 ListView 的同一进程中使用。因此,您必须使用 LVITEM
在 TaskManager 进程中远程分配一个 VirtualAllocEx()
,发出 ListView_GetItem()
以填充该内存,然后使用 {{1} 将该数据编组回您自己的进程}}。不用说,像 TaskManager 这样的系统组件不太可能允许这样做。
您应该尝试改用 UI Automation 接口。它专为此类工作而设计。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。