Windows Vista 이상 버전에서는 세션 관리정책으로 인해서 Windows 의 Service 에 등록된 프로그램이 직접 다른 프로그램을 띄우지 못하게 막았다. 보안상의 이유로 이렇게 한 듯 한데. 이로 인해서 서비스로 등록된 프로그램이 다른 프로그램을 띄우고자 할때 XP 에서 하던대로 CreateProcess 를 하게 되면 이 프로그램이 다른 세션에서 뜨는 문제가 생긴다. 

이를 막기 위해서 아래와 같은 코드를 사용한다. 

핵심은 CreateProcess 대신에 CreateProcessAsUser 를 사용하는 것이다. 



AND