永发信息网

用C#做一个类库dll文件,实现抓图和每隔一秒自动抓屏的功能,请把代码和注释完整写下来,谢谢。

答案:2  悬赏:0  手机版
解决时间 2021-02-06 12:56
  • 提问者网友:雪舞兮
  • 2021-02-06 07:33
用C#做一个类库dll文件,实现抓图和每隔一秒自动抓屏的功能,请把代码和注释完整写下来,谢谢。
最佳答案
  • 五星知识达人网友:零点过十分
  • 2021-02-06 08:13
///
/// 对当前客户端屏幕做截屏操作.
///

///
public static void WriteClientImage(string fileName)
{
IntPtr dc1 = CreateDC("DISPLAY", null, null, (IntPtr)null);
//创建显示器的DC
Graphics g1 = Graphics.FromHdc(dc1);
//由一个指定设备的句柄创建一个新的Graphics对象
Bitmap MyImage = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height - 25, g1);
//根据屏幕大小创建一个与之相同大小的Bitmap对象
Graphics g2 = Graphics.FromImage(MyImage);
//获得屏幕的句柄
IntPtr dc3 = g1.GetHdc();
//获得位图的句柄
IntPtr dc2 = g2.GetHdc();
//把当前屏幕捕获到位图对象中
BitBlt(dc2, 0, 0, Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height - 25, dc3, 0, 0, 13369376);
//把当前屏幕拷贝到位图中
g1.ReleaseHdc(dc3);
//释放屏幕句柄
g2.ReleaseHdc(dc2);
//释放位图句柄
MyImage.Save(fileName, System.Drawing.Imaging.ImageFormat.Jpeg);
}
全部回答
  • 1楼网友:西岸风
  • 2021-02-06 09:50
你好! 这个问题我还没有接触过,不过你可以在百度或者CSDN上搜索一下,类似的代码或者功能应该很多的,然后你把代码看明白就可以了 希望对你有所帮助,望采纳。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯