Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

получить координаты иконок на рабочем столе. [D7, WinXP]


SergeyDon ©   (2004-12-01 17:54:00) 

...
uses
 ShellApi, Windows, CommCtrl, Classes;

var
  hIcos:THandle;
  icoCount,I:integer;
  XY:TPoint;
...
function GetDesktopListViewHandle: THandle;
var
 S: string;
begin
 SetLength(S, 40);
 Result := FindWindow('ProgMan', nil);
 Result := GetWindow(Result, GW_CHILD);
 Result := GetWindow(Result, GW_CHILD);
 GetClassName(Result, PChar(S), 39);
 if PChar(S) <> 'SysListView32' then
   Result := 0;
end;
...
begin
hIcos:=GetDesktopListViewHandle;
icoCount:=ListView_GetItemCount(hIcos);
...
for i:=0 to icoCount-1 do
 begin
  ListView_GetItemPosition(hIcos,i,XY); //тут ошибка память неможет быть write!!!
...
 end;

все перепробывал нехочет записывать текущие координаты иконок рабочего стола.
изменение координат все ОК!
ListView_SetItemPosition(hIcos,i,Random(1024) ,Random(768));


ответ тут   (2004-12-02 10:34:00) [1]

http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=1013434997&n=15


Наверх

Титульная страница Поиск, карта сайта Написать письмо