2009-08-11 8 views
15

me encontré con este ejemplo para el bloqueo de estación de trabajo Windows:de bloqueo de Windows estación de trabajo mediante programación en C#

using System.Runtime.InteropServices; 
... 
[DllImport("user32.dll", SetLastError = true)] 
static extern bool LockWorkStation(); 

... 
if (!LockWorkStation()) 
    throw new Win32Exception(Marshal.GetLastWin32Error()); // or any other thing 

¿Hay una alternativa logrado pura a este fragmento? A saber, sin P-Invoke.

Respuesta

16

No, no hay. Esta es la mejor manera de lograr esta acción.

Incluso si se proporcionó en el BCL, su implementación sería casi idéntica a la de su muestra. No es algo que el CLR implementaría de forma nativa.

+0

+1 para la aclaración, gracias. –

+0

@RonKlein: Hola, quiero hacer lo mismo. Es decir, bloquea programáticamente Windows Desktop y muestra la pantalla de inicio de sesión sin cerrar la sesión del usuario actual. Esto hace lo mismo o algo diferente? Gracias por su solución anterior me ayuda de muchas maneras. Solo deja en claro mi pregunta. –

+0

@Hemang Rami, creo que lo que intenta hacer es exactamente lo que estaba preguntando: bloquear la estación de trabajo mientras mantiene activa la sesión actual. –

Cuestiones relacionadas