0

У меня есть две части технологии Windows, которые я хотел бы отвесить: TSP (поставщик услуг TAPI) и API, обернутый вокруг некоторого оборудования. API принимает запросы синхронно, но асинхронно возвращает результат успеха/отказа/статуса, отправляя сообщения в HWND с передачей.Что такое хороший способ подключения службы Windows с интерактивным окном (HWND)?

Насколько я понимаю, проблема в том, что, поскольку TSP работает как служба Windows, его контекст выполнения не имеет доступа к большинству интерактивных функций Windows. Поэтому, поскольку я хотел бы напрямую связать эти два вместе, я не могу - насколько я могу судить, TSP не делает (и действительно не может) имеет HWND для API для отправки сообщений к. :-(

Для кого-то вроде меня, который только что запрограммировал файлы Windows на одной стороне службы/интерактивной линии за раз, все это немного головорез. Но Windows, , там должно быть несколько разумных способов получения сообщений по этой линии, конечно?

Как бы вы посоветовали мне попробовать подключить эти две вещи? Спасибо! :-)

ответ

0

Я предложил бы использовать MSMQ пройти сообщений между двумя различными приложениями. Я могу быть немного громоздким, но это сработает.

1

Служба может создать «окно сообщения» (родитель окна, HWND_MESSAGE) и запустить насос сообщений. Окно сообщений не имеет интерфейса и, следовательно, не взаимодействует с рабочим столом.

+0

Итак, я бы назвал RegisterClass(), а затем –

+0

@Nick: вам необходимо зарегистрироваться (чтобы зарегистрировать WndProc) и CreateWindow так же, как в приложении пользовательского интерфейса, а также GetMessage/DispatchMessage в цикле для накачки Сообщения. Обычный вызов, который будет пропущен, - ShowWindow/UpdateWindow, так как визуального отображения нет. – Tergiver

+0

Хорошо, спасибо Тергивер, я отдам! :-) –

0

Ваша служба может создать объект сопоставления имен по имени в пространстве имен объектов Global, а затем ваша интерактивная программа сможет открыть это сопоставление файлов. Затем вы могли обмениваться данными через общую память.

 Смежные вопросы

  • Нет связанных вопросов^_^