Текущий архив: 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.47 MB
Время: 0.04 c