2009-08-11 6 views
15

ich in diesem Beispiel lief Windows-Arbeitsstation zur Verriegelung:Lock-Windows-Workstation programmatisch in 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 

Gibt es eine reine verwaltete Alternative zu diesem Snippet? Nämlich ohne P-Invoke.

Antwort

16

Nein, gibt es nicht. Dies ist der beste Weg, um diese Aktion zu erreichen.

Auch wenn es in der BCL zur Verfügung gestellt wurde, wäre seine Implementierung fast sicher identisch mit Ihrer Probe. Es ist nichts, was die CLR nativ implementieren würde.

+0

+1 für die Klärung, danke. –

+0

@RonKlein: Hey ich möchte das gleiche tun. d. h. programmatisch Sperren von Windows-Desktop und zeigt den Anmeldebildschirm, ohne die Sitzung des aktuellen Benutzers zu schließen. Das macht dasselbe oder etwas anderes ??? danke für deine obige lösung es hilft mir in vielerlei Hinsicht. Sag mir einfach über Frage. –

+0

@Hemang Rami, ich denke, was du versuchst zu tun, ist genau das, wonach ich gefragt habe: den Arbeitsplatz zu sperren, während die aktuelle Sitzung aktiv bleibt. –

Verwandte Themen