![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
получить координаты иконок на рабочем столе. [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