c# 求黑屏,控件鼠标键盘不能动代码。
c# 求黑屏,控件鼠标键盘不能动代码。
[最优解释]
黑屏
[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern IntPtr SendMessage (
IntPtr hWnd,
uint msg,
uint wParam,
int lParam );
private const uint WM_SYSCOMMAND = 0x0112;
private const uint SC_MONITORPOWER = 0xF170;
private void SendMessage()
{
SendMessage(
this.Handle,
WM_SYSCOMMAND,
SC_MONITORPOWER,
2
); //关闭显示器
System.Threading.Thread.Sleep(10000);
SendMessage(
this.Handle,
WM_SYSCOMMAND,
SC_MONITORPOWER,
-1
); //打开显示器
}
[其他解释]
[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern bool BlockInput(bool isBlock);
private void BlockInput()
{
BlockInput(true);
System.Threading.Thread.Sleep(20000);//20秒无法动
BlockInput(false);
}
不知道是不是想要的。
[其他解释]
lz想干嘛?
[其他解释]
黑嘛屏啊,直接用api关闭显示器得了
[其他解释]
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//引入API函数
[DllImport("user32 ")]
//这个是调用windows的系统锁定
public static extern bool LockWorkStation();
[DllImport("user32.dll")]
static extern void BlockInput(bool Block);
private void lockTaskmgr()//锁定任务管理器
{
FileStream fs =
new FileStream(Environment.ExpandEnvironmentVariables(
"%windir%\\system32\\taskmgr.exe"), FileMode.Open);
//byte[] Mybyte = new byte[(int)MyFs.Length];
//MyFs.Write(Mybyte, 0, (int)MyFs.Length);
//MyFs.Close();
//用文件流打开任务管理器应用程序而不关闭文件流就会阻止打开任务管理器
}
private void lockAll()
{
BlockInput(true);//锁定鼠标及键盘
}
private void Form1_Load(object sender, EventArgs e)
{
//this.lockAll();
this.lockTaskmgr();
}
}