2013-04-29 5 views
3

C#에서 특정 간격으로 대화 상자 창을 팝업하기 위해 Windows 서비스 응용 프로그램을 만들었습니다. Visual Studio에서 디버깅하는 동안 잘 작동합니다. 그런 다음 설치 설정을 만들었습니다. 그러나 서비스를 설치 한 후에는 대화 상자 팝업을 시작하지 않습니다. 이유는 무엇이며 어떻게 해결할 수 있습니까?Windows 서비스에서 대화 창 열기

+0

당신은이 작업을 수행하지 않아야 희망이 도움 http://stackoverflow.com/a/12956489/261050를 참조하십시오. 대안에 대한 해당 질문에 대한 다른 답변을 참조하십시오. – Maarten

+0

가능한 복제본 [창 서비스에서 창 양식 표시] (http://stackoverflow.com/questions/12953148/show-a-windows-form-from-a-window-service) – Dennis

+0

내가이 문제에 직면하면 그렇게 할거야. 'Catch'를 시도하고 File에 예외를'log'하십시오. ., :)을 참조하십시오. – RajeshKdev

답변

2

서비스는 대화 형 데스크톱과 격리 된 세션 0에서 실행됩니다. 서비스에서 UI를 표시 할 수 없습니다. UI를 표시하고 IPC를 사용하여 서비스와 데스크톱 프로세스간에 통신하려면 별도의 데스크톱 프로세스를 실행해야합니다.

대화 상자가 간단하면 WTSSendMessage을 사용할 수 있습니다.

일정한 간격으로 코드를 실행하려면 서비스가 아닌 예약 된 작업을 사용하는 것이 좋습니다.

0

서비스는 어떻게 설치 되나요? 어떤 Windows 버전을 사용하고 계십니까?

vista/7이 대화 형 서비스를 사용하는 경우 탐지가 표시됩니까?

결론은 사용자 상호 작용을 위해 설계된 적이없는 Windows 서비스입니다.

그러나 방법이 있습니다,하지만 보안 문제를 제기 할 수있는 데스크톱과 상호 작용하는 Windows 서비스를 설정, 사용자

와 상호 작용하는 다른 방법을 사용하는 것이 좋습니다 것입니다. 나는이 링크를 게시

, 그것은

http://social.msdn.microsoft.com/Forums/en-US/csharplanguage/thread/1c3d4b96-c58b-465a-a964-89926bd455f1/