現在ログオンしているユーザーが移動プロファイルを使用しているかどうかを確認する方法は?

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

  •  05-07-2019
  •  | 
  •  

質問

現在のユーザーが移動プロファイルを使用しているかどうかを確認するにはどうすればよいですか

役立つ.net frameworkライブラリはありますか?

役に立ちましたか?

解決

これを行う唯一の方法は、Win32シェル関数 GetProfileType 。 P / Invokeを使用して呼び出しを行い、PT_ROAMINGのpdwFlagsパラメーターの値(値は2)を確認する必要があります。

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