|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Май 17, 2004 03:56:13 Привет народ я здесь первый раз! Функция PostMessage посылает сообщение окну. Вторым параметром ее должен быть хэндл окна. А можно ли отправить ссобщение приложению не имеющего окна по его hInstanc'у. Чего то у меня не получилось. |
|
|
Дата: Май 17, 2004 04:09:49 Сообщения бывают разные (через DDE, пайпы и сокеты тоже можно наладить обмен сообщениями), но оконные сообщения обрабатываются оконной процедурой или в самом цикле сообщений, но при условии что окно всё-таки есть. Если окно не нужно, то его можно спрятать... А через instance ничего не выйдет. |
|
|
Дата: Май 17, 2004 05:02:57 Спасибо. Я сделал удаленный хук в DLL. Когда происходит нажатие клавиш на клавиатуре DLL посылает сообщение в мою программу (PostMessage). А в программе оконная процедура обрабатывает его. Само окно конечно скрыто, но это дело занимает больше памяти и коду. Хотелось бы покороче и попроще т.е. из DLL отправить сообщение в программу в которой нет окна. |
|
|
Дата: Май 17, 2004 05:24:06 Поиск по DDE (Dynamic Data Exchange), IPC (Inter Process Communication), MMF (File Mapping) и т.д. в MSDN. |
|
|
Дата: Май 17, 2004 06:05:54 Объявил свое сообщение: WM_MYPRESSKEY equ WM_USER+6 Что это значит |
|
|
Дата: Май 17, 2004 06:12:06 Регистристрируешь свое сообщение через RegisterWindowsMessage, получаешь в ответ его номер, и пользуешься. |
|
|
Дата: Май 17, 2004 06:25:29 Почему +6 и что есть WM_USER |
|
|
Дата: Май 17, 2004 06:35:55 WM_USER - это сообщение. Его используют многие программы и компоненты, в частности, практически все элементы управления из common controls для взаимодействия с владельцем контрола используют WM_USER + NNN. |
|
|
Дата: Май 17, 2004 12:10:07#define WM_USER 0x0400 сообщения в диапазоне от 0 до WM_USER-1 зарезервированы системой, остальные, в принципе, можно использовать, но всё-таки MS описывает их так: WM_USER through 0x7FFF Integer messages for use by private window classes. WM_APP through 0xBFFF Messages available for use by applications. 0xC000 through 0xFFFF String messages for use by applications. Greater than 0xFFFF Reserved by the system for future use. |
|
|
Дата: Май 17, 2004 14:52:48 Можно послать сообщение не окну, а потоку через PostThreadMessage (смотреть как обычно в МСДНе). Но перед этим надо выяснить идентификатор потока, а если процесс чужой, то тут уж неизвестно, что проще будет. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.044 |