Я создал приложение-службу Windows на C#, чтобы отобразить диалоговое окно с определенными интервалами. При отладке в Visual Studio он работает хорошо. Затем я создал установку. Но после установки службы не запускается всплывающее диалоговое окно. Какова будет причина и как я могу это исправить?Откройте диалоговое окно из службы Windows
ответ
Услуги запускаются в сеансе 0, который изолирован от интерактивного рабочего стола. Вы не можете отображать пользовательский интерфейс из службы. Вам нужно запустить отдельный рабочий процесс, чтобы показать интерфейс, а затем использовать IPC для связи между службой и рабочим процессом.
Если ваше диалоговое окно достаточно простое, вы можете использовать WTSSendMessage.
Если вы хотите запускать код через регулярные промежутки времени, вам может быть лучше с запланированной задачей, а не с сервисом.
Как ваша служба установлена? В каких версиях Windows вы работаете?
Если vista/7 делает ли интерактивные службы обнаружение?
Нижняя линия - это службы Windows, где никогда не предназначено для взаимодействия с пользователем.
Существует способ, однако, но я бы рекомендовал использовать другой способ взаимодействия с пользователем
Настройка службы окна, чтобы взаимодействовать с рабочим столом может создать проблему безопасности.
Я отправил эту ссылку Надеюсь, что это помогает
- 1. Откройте диалоговое окно из DLL
- 2. Откройте диалоговое окно DialogFragment из CustomView
- 3. уровень Откройте Windows FileOpen диалоговое окно с помощью VBA
- 4. Откройте диалоговое окно JQuery изнутри запроса Ajax?
- 5. Откройте диалоговое окно «Диалоговое окно« Диалоговое окно »при нажатии родительского окна
- 6. Откройте диалоговое окно с динамическим контентом
- 7. Откройте диалоговое окно Modal Асинхронно в Delphi
- 8. Откройте диалоговое окно с изображением ниспадающего значка
- 9. Откройте диалоговое окно, когда я нажимаю кнопку.
- 10. Откройте диалоговое окно в элементе списка ListView
- 11. Откройте диалоговое окно от пользовательского адаптера
- 12. Диалоговое окно всплывает из фоновой службы Android
- 13. Всплывающее диалоговое окно Android из службы
- 14. Откройте диалоговое окно jquery ui из flex/flash
- 15. Откройте диалоговое окно из диалогового окна в qt
- 16. Щелкните события из PropertyGrid (например, откройте диалоговое окно файла/папки)
- 17. Диалоговое окно «Диалоговое окно« Диалоговое окно «Диалоговое окно« Диалоговое окно »не обновлено
- 18. Диалоговое окно «Диалоговое окно« Свойства папки »
- 19. Откройте диалоговое окно в том же окне на selectOneMenu change
- 20. Откроется диалоговое окно закрытия Android от службы
- 21. Откройте диалоговое окно файла и отправьте изображение, щелкнув изображение
- 22. Откройте окно «Проводник» из JavaScript
- 23. Откройте диалоговое окно «Файл», не работающий в C#!
- 24. Откройте пользовательское диалоговое окно после нажатия кнопки Android
- 25. Откройте PDF в браузере и вызовите диалоговое окно печати
- 26. Откройте диалоговое окно html bubble в IE BHO (C++)
- 27. Откройте диалоговое окно успешности начальной загрузки на кнопке отправки нажмите
- 28. Откройте диалоговое окно файла с JavaScript не работает здесь
- 29. Откройте диалоговое окно запроса Facebook, используя имя пользователя как параметр
- 30. Откройте диалоговое окно jquery modal в левой части окна
Вы не должны это сделать, см http://stackoverflow.com/a/12956489/261050. См. Другие ответы на этот вопрос для обходных решений. – Maarten
Возможный дубликат [показать форму окна из окна службы] (http://stackoverflow.com/questions/12953148/show-a-windows-form-from-a-window-service) – Dennis
Если я столкнулся с этой проблемой, я сделают это. Поместите 'Try Catch' и' log' исключение в файл. и см.., :) – RajeshKdev