线程中模拟Print Screen 按键失效的原因
在主进程中模拟Print Screen 按键没有问题,但是在进程中,出现问题 Clipboard.GetImage()为空。
主要代码如下:
主要代码如下:
public void PrintScreen()
{
keybd_event((byte)0x2c, 0, 0, 0);//down
keybd_event((byte)0x2c, 0, 2, 0);//up
}
private Bitmap GetScreenImage()
{
Bitmap NewBitmap = null;
try
{
if (Clipboard.ContainsImage())
{
NewBitmap = (Bitmap)(Clipboard.GetImage().Clone());
}
return NewBitmap;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return null;
}
}
private void button10_Click(object sender, EventArgs e)
{
ThreadPool.QueueUserWorkItem(new WaitCallback((s) => {
while (true)
{
PrintScreen();
Bitmap map = GetScreenImage();
if (map != null)
{
string strFile = DateTime.Now.ToString("mmss") + ".bmp";
map.Save(@"D:\2\" + strFile, ImageFormat.Bmp);
}
Thread.Sleep(5000);
}
}));
}
...全文


