Re: как изменить позицию ЛЮБОЙ иконки на рабочем столе?
От: DarkMaster Украина http://www.bdslib.at.ua
Дата: 16.09.10 14:02
Оценка:
Здравствуйте, NekitoSP, Вы писали:

NSP>где вообще хранится такая информация?


Где оно хранится я навскидку не скажу, но могу показать, как к этому добратся. Кстати, если в качестве шела используется что-то другое — фиг его знает, что получиься — скорее всего ничего.

// получаем SysListView32, т.к. это и есть то, на чем расположены иконки

function GetSysListView32: THandle;   
begin  
  Result := FindWindow('Progman', nil);   
  Result := FindWindowEx(Result, 0, nil, nil);   
  Result := FindWindowEx(Result, 0, nil, nil);   
end;   


// дальше работаем с этим ListView
 LVH:=GetSysListView32;
 ItemsCount := SendMessage(LVH, LVM_GETITEMCOUNT, 0, 0);    // сколько элементов
 for i := 0 to ItemsCount - 1 do  
  begin  
    nb := SendMessage(LVH, LVM_GETITEMTEXT,......);    // получаем текст
    SendMessage(LVH, LVM_GETITEMPOSITION, i,........); // получаем позицию  
  end;


Идея ясна?
WBR, Dmitry Beloshistov AKA [-=BDS=-]
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.