问题
Possible Duplicate:
Lock Windows workstation programmatically in C#
I am currently working on a visual studio windows form application that requires a function that locks the workstation. How can i make use of user32.dll to do a lock (Windows + L) when the function is called?
回答1:
I haven't tried it myself, but I found this on google
Process.Start(@"C:\WINDOWS\system32\rundll32.exe", "user32.dll,LockWorkStation");
edit: I tried it, and it works!
edit2: Here's a solution using user32.dll
that doesn't start an external process.
using System.Runtime.InteropServices;
declare a method like this:
[DllImport("user32.dll")]
public static extern bool LockWorkStation();
and then call LockWorkStation();
.
Voilà
回答2:
using System.Runtime.InteropServices;
[DllImport("user32.dll")]
public static extern int ExitWindowsEx(int uFlags, int dwReserved);
just call
ExitWindowsEx(0, 0);
来源:https://stackoverflow.com/questions/13745788/how-do-i-lock-a-windows-workstation-programmatically