처음에 알아 두었던 의견에 대한 설명을 덧붙이고 있습니다. 프로세스가 시작되었지만 창을 열어 본 이유는 Windows Vista 이상에서 Windows 서비스에 적용된 보안 모델 변경 때문입니다. 특별히 언급하지는 않았지만 이러한 운영 체제 중 하나에서이 프로그램을 실행하려고하는 것에 대해 강한 의구심을 갖고 있습니다. 실제 문제는 프로세스를 시작하지 않고 UI를 보여줍니다.
달성하고자하는 것은 사용자와 데스크톱과 직접 상호 작용할 수있는 창 (예 : 창 또는 대화 상자 표시)이 허용되는 "Interactive Service"입니다.
Windows XP를 사용하는 경우 서비스가 인 경우에만 Windows XP에서 실행해야합니다. 해당 문서의 지침에 따라 서비스를 대화 형 모드로 실행할 수 있습니다. Adobe Acrobat 응용 프로그램 창. 이 문서는 표시하지만,이 기능 는 Windows Vista 이상에서 작동하지 않습니다
중요 서비스는 바로 윈도우 비스타로 사용자와 상호 작용할 수 없습니다. 따라서 대화 형 서비스 사용이라는 절에서 언급 한 기술은 새 코드에서 사용하면 안됩니다.
보다 구체적으로, 이러한 버전에서는 서비스 및 응용 프로그램의 실행 방법이 변경되었습니다. 응용 프로그램이 다른 세션에서 실행되는 동안 서비스는 이제 세션 0에서 시스템에 의해 격리됩니다. 이것은 응용 프로그램 코드에서 시작된 공격으로부터 서비스를 격리하기위한 것입니다. 따라서 간단한 메시지 상자를 포함하여 시스템의 모든 사용자가 서비스에 표시되는 UI를 볼 수 없습니다. 이러한 변경 사항을 자세히 설명하는 백서는 here에서 읽을 수 있습니다. 좀 더 시각적 인 경우, 분할 선에 특별한주의를 기울이고, 새로운 모델을 보여주는 다이어그램은 다음을 참조하십시오

결말은 사람들을 대상으로하는 경우이다 버전을 타겟팅해야하거나 이러한 버전을 타겟팅해야하는 경우이 허점을 사용할 수 없습니다. 의견에서 언급했듯이 결론은 Windows 서비스가 대화 형이 아니기 때문에 "허점"이라고 말합니다.. 여기에서하려는 것은 서비스의 목적과 디자인에 위배됩니다. 전에는 권장되지 않았지만 지금은 플랫이 전혀 작동하지 않습니다. 이 특정 기능이 필요한 경우에는 다른 종류의 응용 프로그램을 만들어야합니다. Windows Forms와 WPF는 모두 사용자 모드 응용 프로그램 용이며 둘 모두 필요에 따라 프로세스를 시작하고 새 창을 열 수 있습니다. 대신이 스타일의 응용 프로그램으로 변환하는 것이 좋습니다.
또는 생성 된 후 즉시 종료 하시겠습니까? 이 코드를 여기에 붙여 넣을 수 있다면 도움이 될 것입니다. –
** Windows 서비스는 대화 형 응용 프로그램을 실행하도록 설계되지 않았습니다. ** 사용자는 프로세스를 실행할 수 있지만 열려는 새 창을 가져 오는 것은 위험한 제안입니다. 이 작업을 수행하려고 시도 할 모든 보안 문제는 말할 것도 없습니다. 타겟 서비스 사용자가 Windows Vista 또는 그 이후의 서비스 보안 모델을 고려하여 실행중인 경우 Windows 서비스 이외의 다른 것을 사용하거나 디자인을 다시 생각해 볼 필요가 있습니다. –
또한 여기에서 가능한 복제본을 참조하십시오. http://stackoverflow.com/questions/677874/starting-a-process-with-credentials-from-a-windows-service (다른 자격 증명으로 실행되도록 서비스를 향상시키는 방법에 대해 논의하십시오. 및/또는 대화 형 모드 (참고 :이 지원되지 않습니다 (http://www.microsoft.com/whdc/system/sysinternals/Session0Changes.mspx) Vista 이상)). –