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

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

LVM_GETITEMPOSITION [D5, Win95/98]


Clift ©   (2004-02-17 14:39:00) 

////////////////////////////////////////////////////////
procedure TForm1.Timer1Timer(Sender: TObject);
var
 Cur: TPoint;
 hWind: THandle;
 Clas: array[0..255] of char;
begin
 GetCursorPos(Cur);
 HWind:=WindowFromPoint(Cur);
 GetClassName(HWind, Clas, SizeOf(Clas));
 if Clas='SysListView32' then
   SendMessage(hWind, LVM_SETITEMPOSITION, 0, MakeLong(Random(500), 100));
end;


//////////////////////////////////////////////////////
procedure TForm1.Timer1Timer(Sender: TObject);
var
 Cur, ICONmk: TPoint;
 hWind: THandle;
 Clas: array[0..255] of char;
begin
 GetCursorPos(Cur);
 HWind:=WindowFromPoint(Cur);
 GetClassName(HWind, Clas, SizeOf(Clas));
 if Clas='SysListView32' then
  SendMessage(hWind, LVM_GETITEMPOSITION, 0, Longint(@ICONmk))
end;


Всё делается для Рабочего стола и проверяется на нём.
Первый код работает нормально(При попадании курсора на рабочий стол иконка Мой компьютер "беспорядочно" перемещается)
Второй код при поподании курсора на Раб.ст. вызывает аварийное завершение работы Эксплорера с последующей его перезагрузкой
Собственно вопрос(проблема): Нужно узнать положение иконки "Мой комп." на рабочем столе...


Игорь Шевченко   (2004-02-17 18:09:00) [1]

Clift ©   (17.02.04 15:20)

Лучше бы ты что-то полезное написал..


Clift   (2004-02-17 15:20:00) [2]

>MBo
OK. Будем внедрятся ;)
Спасибо за разяснение.


MBo   (2004-02-17 15:13:00) [3]

Если при этом передаются адреса, то да.


Clift   (2004-02-17 15:07:00) [4]

>MBo
Надо внедряться в его адресное пространство

А  LVM_HITTEST тоже требует внедрения в чужой процесс?


MBo   (2004-02-17 14:53:00) [5]

>SendMessage(hWind, LVM_GETITEMPOSITION, 0, Longint(@ICONmk))
здесь @ICONmk - адрес переменной в ТВОЕМ процессе.
В чужом же он не имеет смысла.
Надо внедряться в его адресное пространство. Рихтера читай.


Наверх

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