현재 Windows 시작시 LocalService 사용자로 .NET WinService가 시작되었습니다. 이 서비스는 Process.Start()를 사용하여 다른 WinForms 응용 프로그램을 시작합니다..NET WinService의 대화 형 로그온 사용자로 프로그램 시작
그러나이 솔루션에서 여러 가지 문제가 있습니다
- 우리는 대화 형 사용자 로그온을 기다리지 않고 그것을 시도 및 DirectX 장치를 초기화하지 못하기 때문에 응용 프로그램이 떨어진다.
- LocalService에서 시작된 응용 프로그램은 Windows XP에서 사용자 데스크톱과 완벽하게 상호 작용합니다. 그러나 win7에서 각 사용자마다 그래픽 스테이션이 다르기 때문에 Windows 7에서는 작동하지 않습니다.
- 때때로 우리는 현재 대화 형 로그온 사용자 권한으로 응용 프로그램을 실행해야합니다.
누구나 서비스에서 사용자 대화 형 로그온을 기다리는 방법을 알고 이러한 사용자 권한으로 WinForms 응용 프로그램을 시작 하시겠습니까?
나는 이것이 모든 문제를 해결하는 데 도움이된다고 생각합니다.
로그온 할 때 사용자의 권한으로 응용 프로그램을 시작하려면 표준 자동 실행 옵션 중 하나 (레지스트리 키 또는 시작 폴더)에 어떤 문제가 있습니까? – Zooba
@Zooba, winservice 작업 중 하나는 시작 후 응용 프로그램을 돌보고 넘어 질 때 다시 시작하는 것입니다. – acoolaum
@acoolaum Windows는이 기능 중 일부를 제공하며 (http://msdn.microsoft.com/en-us/library/cc303708.aspx), 옵션 일 수 있습니다. 또는 응용 프로그램이 시작할 때 서비스에 알릴 수 있습니까? 같은 효과를 얻으시겠습니까? – Zooba