나는 서비스 세션에서 격리 될 때Vista 서비스 : 보이지 않는 데스크톱에 양식을 표시 할 수 있습니까?
은 물론 양식, 콘솔 사용자에게 표시되지 것입니다 (닷넷 윈폼 사용) 비스타의 서비스에서 폼을 표시하려고 시도하고 0
그러나 실험을 보이지 않는 양식을 보이고 창 핸들을 얻을 수 있는지 확인하는 것입니다.
제가 시도했지만 form.Show()를 발행 할 때 form.Load 이벤트 만 실행되지 않습니다. .FormClosing
바람을 포착 할 방법이 있습니까? 이 방법으로 사용자 응용 프로그램으로 메시지를 ws?
로그온 한 사용자와 상호 작용하고 싶지 않기 때문에 서비스를 '대화 형'으로 만들려고하지 않았습니다.
많은 감사. 시험에서 어떻게 양식을 시작 했습니까? ShowDialog()를 시도했지만 얻었습니다. >> 'System.InvalidOperationException'응용 프로그램이 UserInteractive 모드에서 실행되고 있지 않을 때 모달 대화 상자 나 양식을 표시하는 것이 유효한 작업이 아닙니다. 서비스 응용 프로그램에서 알림을 표시하려면 ServiceNotification 또는 DefaultDesktopOnly 스타일을 지정하십시오. << 시스템이 종료 될 때 서비스의 WM_QUERYENDSESSION을 처리하기 위해이 (숨겨진) 창을 표시하고 메시지를 가져 오려고합니다. ShutdownBlockReasonCreate와 함께 종료를 취소하려고 시도합니다. –
Application.Run을 my 테스트하고 잘 작동합니다. ShowDialog는 잘 작동했지만 일반적으로 2.0 프레임 워크에서 체크를 추가하여이를 허용하지 않았습니다. 개인적으로, 나는 서비스에서 종료를 취소하는 것은 좋은 생각이 아니라고 생각하지만, 정말로 그렇게하고 싶다면 제대로 작동해야한다. myFormInstance.ShowDialog 대신 Application.Run (myFormInstance)을 호출하면됩니다. –