Повторите сообщения Windows в Winforms - PullRequest
0 голосов
/ 08 июня 2009

Я хочу повторить отправку сообщений Windows в мое приложение winforms. Теперь у меня есть класс, реализующий IMessageFilter, который сохраняет выбранные сообщения (WM _KEYDOWN, WM _LBUTTONDOWN и т. Д.) В список.

При нажатии «Pause / Break» я копирую список сообщений, очищаю исходный список и пересылаю сообщения.

В моем тестовом проекте есть только одна форма с одним пунктом меню, одной вкладкой и одним richtextbox. Количество элементов управления одинаково при сохранении и повторении сообщений.

Все работает нормально, но отправка сообщений не дала результатов: /.

Пример кода:

[System.Runtime.InteropServices.DllImport( "user32" )]
public static extern int SendMessage( IntPtr hwnd, int msg, IntPtr wparam, IntPtr lparam );

// ... in some method ...
SendMessage( msg.HWnd, msg.Msg, msg.WParam, msg.LParam );

Это выглядит слишком просто, но не знаю, где могут быть проблемы.

1 Ответ

1 голос
/ 08 июня 2009

У вас все еще есть фильтр сообщений? Разве это не помешает отправке сообщений? Другая возможность может заключаться в том, что рассматриваемое сообщение должно быть не отправлено, а опубликовано. Или вам может потребоваться отправить сообщение из правильной цепочки для целевого окна.

...