2011-02-10 5 views
0

주제에서와 같이 현재 로깅 된 사용자 appdata 환경 변수를 얻는 방법이 있습니까?% appdata % from windows service [C++]

응용 프로그램에서는 SHGetFolderPath() 또는 단순히 getenv ("appdata")를 사용하여 문제가 발생하지 않지만 서비스에서는 이러한 메서드가 작동하지 않습니다. 그것은 "시스템"계정으로 실행됩니다.

나는 WMI를 사용하여 % appdata %를 얻을 수있는 방법이어야한다고 생각하지만 그것에 대해 잘 모르겠습니다.

% userprofile %은 % appdata %를 (를) 얻을 때 처리 할 두 번째 관심 지점입니다.

답변

1

서비스 관점에서 보면 현재 로그온 한 사용자 "the"는 없습니다. 0, 하나 또는 그 이상이있을 수 있습니다. 또한 일반적으로 서비스에 필요한 경우 설계 오류가 있음을 나타냅니다. 당신이 해결하려고하는 진짜 문제는 무엇입니까?

+0

@sephirot "현재 로그인 한 사용자"가 없을 수도 있습니다. 또한 "현재 로그인 한 사용자"가 둘 이상있을 수 있습니다. MSalters가 말했듯이 여기에는 아마도 디자인 문제가있을 것입니다. 당신이 해결하려고하는 근본적인 문제는 무엇입니까? – Jon

+0

@sephirot : 그건 당신이 서비스에서하지 말아야 할 것입니다. 대신에 일반 응용 프로그램을 작성하십시오. – MSalters