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

Вниз

LVM_GETITEMPOSITION   Найти похожие ветки 

 
Clift ©   (2004-02-17 14:39) [0]

////////////////////////////////////////////////////////
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;


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


 
MBo ©   (2004-02-17 14:53) [1]

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


 
Clift ©   (2004-02-17 15:07) [2]

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

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


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

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


 
Clift ©   (2004-02-17 15:20) [4]

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


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

Clift ©   (17.02.04 15:20)

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



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

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

Наверх




Память: 0.48 MB
Время: 0.086 c
11-1063861417
AndrewA
2003-09-18 09:03
2004.04.25
Несоответствие в TrimLeft


11-1065001425
Babylon5
2003-10-01 13:43
2004.04.25
Динамическое меню


14-1080645968
DillerXX
2004-03-30 15:26
2004.04.25
Ззадача :)


1-1080997883
Timur
2004-04-03 17:11
2004.04.25
Вставка в OLE


14-1080565676
Shady
2004-03-29 17:07
2004.04.25
Lines created by Pascal