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

Вниз

Перехватить обновление рабочего стола   Найти похожие ветки 

 
volser   (2005-05-15 23:29) [0]

Какое сообщение нужно ловить, чтобы перехватить обновление рабочего стола?
Питался spy++ом выловить, но так и не смог настроить, там кучу левых сообщений ловит. Подскажите, плиз.


 
Marser ©   (2005-05-16 00:13) [1]

Левых? Не уверен.

wm_paint возникает точно.


 
DVM ©   (2005-05-16 10:40) [2]


> Какое сообщение нужно ловить, чтобы перехватить обновление
> рабочего стола?

Что значит обновление? Перерисовка? Перерисовка фона? Нажатие F5?
Разные сообщения, однако.


 
volser   (2005-05-16 17:52) [3]


> Что значит обновление? Перерисовка? Перерисовка фона? Нажатие
> F5?
> Разные сообщения, однако.

Refresh: F5, когда нажимаешь в попап меню "обновить", когда ярлык создаешь или ей самой захотелось обновится.

А также как заставить перерисоваться фон?


 
inic ©   (2005-05-16 18:24) [4]

volser   (16.05.05 17:52) [3]

Ты видимо ловил сообщения самой верхней ветки в Spy++,
а на самом деле на десктопе лежит SysListView32, вот у него при обновлении возникает куча сообщений.

У меня Windows XP (возможно для Win98 чуть по другому, но тоже SysListView32):

Desktop
 "Program Manager" (Progman)
   "" (SHELLDLL_DefView)
     "FolderView" (SysListView32).


 
volser   (2005-05-16 19:36) [5]


> inic

Я ловил SysListView32


> а на самом деле на десктопе лежит SysListView32, вот у него
> при обновлении возникает куча сообщений.

Вот именно, что куча. А какой из них нужно ловить?


 
Marser ©   (2005-05-16 20:46) [6]

LVM_UPDATE - то, что тебе нужно.


 
volser   (2005-05-17 22:09) [7]


> Marser ©   (16.05.05 20:46) [6]
> LVM_UPDATE - то, что тебе нужно.

Попробовал при нажатии F5 не воникает это сообщение (пробовал ловить при помощи Spy и сам в хуке тоже пытался ловить).


 
alpet ©   (2005-05-18 16:23) [8]

WM_COMMAND можно ловить, вроде explorer регистрирует горячие клавиши. По крайней мере в XP, ему (окну с заголовком "Program Manager") приходит такое сообщение:
WM_COMMAND wNotifyCode: 1 (send from accelerator)wID:41504.

Окну класса "SysListView32" (WindowText="FolderView") же приходит множество сообщение LVM_SETITEMSTATE, WM_SETREDRAW, WM_PAINT и еще несколько.


 
volser   (2005-05-18 21:27) [9]


> alpet ©   (18.05.05 16:23) [8]
> WM_COMMAND можно ловить, вроде explorer регистрирует горячие
> клавиши. По крайней мере в XP, ему (окну с заголовком "Program
> Manager") приходит такое сообщение:
> WM_COMMAND wNotifyCode: 1 (send from accelerator)wID:41504.


Это сообщение доходить только при нажатии F5, а при обновлении рабочего стола со всплывающего меню, оно не доходит :-(


> Окну класса "SysListView32" (WindowText="FolderView") же
> приходит множество сообщение LVM_SETITEMSTATE, WM_SETREDRAW,
> WM_PAINT и еще несколько.

Вот именно что множество, и на какое из них мне реагировать?


 
VMcL ©   (2005-05-18 22:01) [10]

>>volser   (18.05.05 21:27) [9]

>Вот именно что множество, и на какое из них мне реагировать?

См. [1].


 
DVM ©   (2005-05-19 10:15) [11]


> volser

А ради чего это затевается? Если будет известна цель - проще будет ответить как.


 
alpet ©   (2005-05-19 10:46) [12]

При обновлении через меню, окно SysListView32:FolderView получает сообщения, среди которых есть и WM_NOTIFY idCtrl:0, pnmh:0006FB20 (после обновления списка) и WM_USER + 3152 (как реакция на выбор пункта меню).


 
volser   (2005-05-19 21:44) [13]

Спасибо, я уже разобрался



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

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

Наверх




Память: 0.49 MB
Время: 0.027 c
8-1111501721
neiromantik
2005-03-22 17:28
2005.07.18
Stream Read Error


14-1119373274
udavka
2005-06-21 21:01
2005.07.18
D3,D5: Пожалуйста, помогите удалить строку в *.dbf + SQL ред поле


14-1119646094
palva
2005-06-25 00:48
2005.07.18
Заплати налоги и спи спокойно


3-1118296116
rosl
2005-06-09 09:48
2005.07.18
нумерация


14-1118775528
WondeRu
2005-06-14 22:58
2005.07.18
Давайте кошку Шредингера мучать?