string recvStr = bufs.Substring(order_start_pos, bufs.IndexOf("#CMD_END##") - order_start_pos);
//依据不同的信息来处理客户机
if (recvStr != "")
{
switch (recvStr)
{
case "LOGOUT"://注销本机
DoExitWin(EWX_LOGOFF);
//也可以用下面的方式
//ExitWindowsEx(0, 0);
break;
case "LOCK"://自定义的锁屏方法锁定屏幕//锁定鼠标及键盘//屏蔽ctrl+alt+delete
BlockInput(true);
FileStream fs = new FileStream(Environment.ExpandEnvironmentVariables("%windir%\\system32\\taskmgr.exe"), FileMode.Open);
break;
case "UNLOCK"://解锁屏幕//解除键盘鼠标锁定
BlockInput(false);
FileStream fs1 = new FileStream(Environment.ExpandEnvironmentVariables("%windir%\\system32\\taskmgr.exe"), FileMode.Open);
fs1.Close(); //用文件流打开任务管理器应用程序而不关闭文件流就会阻止打开任务管理器
break;
case "CLOSEPC"://关闭机器
DoExitWin(EWX_SHUTDOWN);
break;
case "RESTART": //重启计算机
DoExitWin(EWX_REBOOT);
break;
case "NO LINK"://关闭客户端的程序进程
Process[] myProcesses;
myProcesses = Process.GetProcessesByName("Client");
|