我是c#的新手,我想做一个能够注销所有登录到PC的用户的代码。 我试着这样做:
System.Diagnostics.Process("shutdown", "/l");
但是这并没有注销所有用户,只注销了我从中运行的用户。 那我怎么能这样做呢?
答案 0 :(得分:0)
使用WTSDisconnectSession()Windows API。请参阅此处的文章。
using System;
using System.Runtime.InteropServices;
using System.ComponentModel;
class Program
{
[DllImport("wtsapi32.dll", SetLastError = true)]
static extern bool WTSDisconnectSession(IntPtr hServer, int sessionId, bool bWait);
const int WTS_CURRENT_SESSION = -1;
static readonly IntPtr WTS_CURRENT_SERVER_HANDLE = IntPtr.Zero;
static void Main(string[] args)
{
if (!WTSDisconnectSession(WTS_CURRENT_SERVER_HANDLE,
WTS_CURRENT_SESSION, false))
throw new Win32Exception();
}
}