현재 로그인 한 사용자가 로밍 프로파일을 사용하고 있는지 확인하는 방법은 무엇입니까?
-
05-07-2019 - |
문제
현재 사용자가 로밍 프로필을 사용하고 있는지 확인하려면 어떻게해야합니까?
도움이 될 수있는 .NET 프레임 워크 라이브러리가 있습니까?
해결책
이 작업을 수행하는 유일한 방법은 Win32 쉘 기능을 호출하는 것입니다. GetProfileType. P/Invoke를 사용하여 호출을 한 다음 PT_Roaming (값이 2)에 대한 PDWFLAGS 매개 변수의 값을 확인해야합니다.
Pinvoke.net 에서이 기능에 대한 샘플 서명이 표시되지 않지만 간단한 서명이 있습니다.
BOOL WINAPI GetProfileType(
DWORD *pdwFlags
);
하나를 만드는 것은 어렵지 않습니다.
다른 팁
[DllImport("Userenv.dll", EntryPoint = "GetProfileType", SetLastError = true, CharSet = CharSet.Auto)]
public static extern bool GetProfileType(ref uint pdwflags);
[Flags]
enum Win32ProfileType : uint {
Local=0x00,
Temporary=0x01,
Roaming=0x02,
Mandatory=0x04
}
public void SomeTest()
{
uint type = 0;
if (GetProfileType(ref type)) {
//todo
}
}
제휴하지 않습니다 StackOverflow