SYSTEM 권한(Windows Service) 에서 일반사용자 (user) 권한으로 프로세스 실행

INT_PTR ExcuteAsUser(TCHAR* szCmd) { BOOL bRet; INT_PTR hr; HANDLE processToken = NULL; TOKEN_PRIVILEGES oldTokenPrivileges = { 0 }; HANDLE impersonationToken = NULL; HANDLE userToken = NULL; LPVOID pEnvironment = NULL; PROCESS_INFORMATION processInformation = { 0 }; __try { bRet = OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &processToken); if (!bRet) { hr = GetLastError(); return hr; } //