¿Cómo verificar si el usuario que ha iniciado sesión actualmente está utilizando el perfil móvil?

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

  •  05-07-2019
  •  | 
  •  

Pregunta

¿Cómo puedo comprobar si el usuario actual está utilizando el perfil móvil?

¿Hay alguna biblioteca de .net framework que pueda ayudar?

¿Fue útil?

Solución

Creo que la única forma de hacerlo es llamar a la función de shell de Win32 GetProfileType . Necesitaría usar P / Invoke para hacer la llamada y luego verificar el valor de salida del parámetro pdwFlags para PT_ROAMING (que tiene el valor de 2).

No veo una firma de muestra para esta función en pinvoke.net pero con una firma tan simple:

BOOL WINAPI GetProfileType(      
    DWORD *pdwFlags
);

Crear uno no sería difícil.

Otros consejos

    [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
        }
    }
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top