Тема: Ahk: значки на рабочем столе
В одном источнике http://forum.shelek.ru/index.php/topic,22065.0.html нашёл такой код
#include <commctrl.h>
//получаем хэндл рабочего стола как бы, потом хэндлы дочерних элементов ...
HANDLE r=FindWindow("ProgMan",NULL);
r= GetWindow(r, GW_CHILD);
r= GetWindow(r, GW_CHILD);
//получаем количество иконок на рабочем столе
int cnt=SendMessage(r,LVM_GETITEMCOUNT,0,0);
//отправляя сообщение LVM_GETITEMTEXT, можем узнать имя иконки,
третьим параметром для SendMessage указываем номер иконки.
Здесь точно не скажу как сделать, читал что так просто имя иконки не взять, нужно читать с памяти другого процесса,
но добить это дело не хватило терпения)))
TPoint xy; //здесь будем хранить позицию иконки
SendMessage(r,LVM_GETITEMPOSITION,i,(LONG)&xy); //запишет в xy позицию иконки с номером i
//изменяя xy.x и xy.y , зададим новую позицию
SendMessage(r,LVM_GETITEMPOSITION,i,(LONG)&xy); //и установим для иконки новую позицию на столе))Можно в Autokotkey с помощью оконных сообщений реализовать что-то то подобное? Требуется получить количество значков на рабочем столе и координаты каждого значка. По возможности (не обязательно) получить имя каждого из них.
В общем, трудности возникают уже на этапе
ControlGet, OutputVar, Hwnd,, SysListView32, ahk_class ProgmanА в основной части кода нарисовывается
SendMessage, LVM_GETITEMPOSITION, 1, (LONG)&xy, SysListView32,, Program ManagerПрошу помочь.

