从注册表中读取桌面图标位置

时间:2010-02-18 01:18:11

标签: windows-xp registry icons

你可以从windows xp注册表中读取一个图标的位置,一旦识别出来,然后以编程方式将它设置在桌面上的任何位置吗?

1 个答案:

答案 0 :(得分:1)

桌面是列表视图控件。您可以通过查找桌面窗口并向其发送LVM_GETITEMCOUNT和LVM_GETITEMPOSITION消息来获取单个图标的位置。

不幸的是,LVM_GETITEMPOSITION要求将lparam设置为拥有列表视图的进程(即explorer.exe)的地址空间内的POINT结构,因此为了执行上述任何操作,您需要打开explorer.exe进程,在该进程中分配一些内存,计算相对于资源管理器进程的内存地址,发送LVM_GETITEMPOSITION消息,将新分配的内存作为lparam,最后读取该内存的内容。我已经做了很长时间了,所以我不记得细节,但希望这对你有帮助。

相关问题