Главная страница
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.47 MB
Время: 0.022 c
6-1078175573
TALLA
2004-03-02 00:12
2004.04.25
Как избавиться от многопоточности DdeClientConv ? :(


1-1081586948
Insert
2004-04-10 12:49
2004.04.25
Проигрывание *.mov


14-1081011277
Knight
2004-04-03 20:54
2004.04.25
Общая тема "Ищу программу"...


1-1081240057
York
2004-04-06 12:27
2004.04.25
Процедура поиска


1-1080897165
Stas
2004-04-02 13:12
2004.04.25
Перемещение формы не имеющей заголовка