현재 로그인 한 사용자가 로밍 프로파일을 사용하고 있는지 확인하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/1200173

  •  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
        }
    }
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top