近来要实现程序查询Windows是否处于锁屏状态,没找到直接查询是否锁屏的API,通过Google 找到了在C++实现的查询Windows是否锁屏的代码,地址为:C++: check if computer is locked
之后使用C#通过P/Invoke对相关API进行了一下使用测试,相关代码如下:
1.准备
首先是需要使用的三个Win32 API接口
[DllImport("Wtsapi32.dll", CharSet = CharSet.Unicode)]
public static extern bool WTSQuerySessionInformationW(IntPtr hServer, uint SessionId, WTS_INFO_CLASS WTSInfoClass, ref IntPtr ppBuffer, ref uint pBytesReturned);
[DllImport("Wtsapi32.dll", CharSet = CharSet.Unicode)]
public static extern void WTSFreeMemory(IntPtr pMemory);
[DllImport("Kernel32.dll", CharSet = CharSet.Unicode)]