Вот что я пытаюсь решить:
Мой класс (который может быть размещен приложением пользовательского интерфейса, службой Windows или чем-то еще), должен получать сообщения Windows. Где-то здесь кто-то дал предложение (и некоторый исходный код) создать форму окна в отдельном потоке, который создаст форму, и всякий раз, когда интересующее меня сообщение Windows получает на WndProc, оно вызывает делегата с использованием контекста. .Подать.
Я пытался заставить это работать, но безуспешно. Вместо того, чтобы тратить больше времени на эту авеню, и прежде чем я попытаюсь повторить проблему, которую я имею там, чтобы написать здесь о помощи, я думаю, что я собираюсь попытаться реализовать то же решение, используя BackgroundWorker.
Из тестов, которые я провел, я ожидал бы, что он будет работать довольно хорошо, когда я использую пользовательские интерфейсы, но мой вопрос: есть ли какой-то совет против использования BackgroundWorker, когда он не работает с пользовательскими интерфейсами?
Edit:
Как я себе это представляю, каждый раз, когда моя «дочерняя» форма (та, которая работает в фоновом режиме) получает сообщение, я выдаю ReportProgress. Единственное, что мне нужно пройти через потоки, это идентификатор сообщения, так что технически его должно быть достаточно, верно?