Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.18;
Скачать: CL | DM;

Вниз

Помогите с указателями   Найти похожие ветки 

 
konstantinov ©   (2003-09-05 17:57) [0]

Рискну еще раз поднять тему

пытаюсь получить координаты иконки на рабочем столе,
пишу:

var
DesktopHandle:Integer;
Count,I,X,Y : integer;
M : TPoint;
begin
DesktopHandle := FindWindow("ProgMan", nil);
DesktopHandle := GetWindow(DesktopHandle, GW_CHILD);
DesktopHandle := GetWindow(DesktopHandle, GW_CHILD);
Count := SendMessage(DesktopHandle, LVM_GETITEMCOUNT, 0, 0); Memo1.Lines.Add("Count Icon - "+IntToStr(Count));
for I := 0 to Count - 1 do
begin
M := Point(0,0);
SendMessage(DesktopHandle,LVM_GETITEMPOSITION,I,longInt(@M));
Memo1.Lines.Add(IntToStr(M.x)+" "+IntToStr(M.y));
end;
end;

получаю - хрена лысого, а не координаты.
В переменной M остаются прежние значения.
Где ошибка?


 
MBo ©   (2003-09-05 17:58) [1]

читай Рихтера.
LVM_GETITEMPOSITION из чужого процесса без внедрения не сделаешь


 
ZEE ©   (2003-09-05 18:08) [2]

>DesktopHandle := FindWindow("ProgMan", nil);
>DesktopHandle := GetWindow(DesktopHandle, GW_CHILD);
>DesktopHandle := GetWindow(DesktopHandle, GW_CHILD);
интересно, три раза DesktopHandle задается - это наверно для надежности :)


 
Sandman25 ©   (2003-09-05 18:10) [3]

[2] ZEE © (05.09.03 18:08)

Нет, это пример того, что в любой книге советуют избегать - использование одной переменной для хранения различной информации. В разное время хранятся разные по смыслу данные.


 
konstantinov ©   (2003-09-05 18:20) [4]

А никто не подкинет ссылочку по поводу Рихтера?
>Sandman25 © (05.09.03 18:10)
Спасибо! Учту на будущее.


 
MBo ©   (2003-09-05 18:30) [5]

>ссылочку по поводу Рихтера?
mbo88.narod.ru


 
konstantinov ©   (2003-09-05 20:31) [6]

Большое спасибо! Пошел копать.



Страницы: 1 вся ветка

Текущий архив: 2003.09.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
14-58843
kopcap
2003-08-30 19:03
2003.09.18
JavaScript


6-58820
tasman
2003-07-15 06:29
2003.09.18
Проблема с Submit у TWebBrowser


14-58895
BALU1111
2003-08-29 14:01
2003.09.18
Философский вопрос.


1-58679
McMurfy
2003-09-04 19:00
2003.09.18
Ошибка при присваивании


7-58928
Nick Denry
2003-07-06 20:09
2003.09.18
Как моей программе узнать, что пользователь открыл CD-Room в 9x?