Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
1-58674
Dmitriy M. Volkov
2003-09-03 22:05
2003.09.18
высота taskbar


3-58567
Jet
2003-08-28 22:49
2003.09.18
Скопировать записи из MSSQLServer в таблицу DBF


3-58533
andy-ivt
2003-08-28 12:52
2003.09.18
Доступ к БД IB по сети


7-58939
Ricky-Ticky-Tavy
2003-07-06 13:08
2003.09.18
Надо запусть прогу перед тем как запустится WinME


14-58829
Пан Сенюта
2003-08-30 16:38
2003.09.18
Что вы обо мне думаете?




   Наверх