中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-08 13:24
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 转:不用API实现截屏/截取当前窗口内容(“抓图”) 查看 1,077 回复 2
楼 主 转:不用API实现截屏/截取当前窗口内容(“抓图”) 发表于 2007-06-15 10:12 ·  中国 安徽 芜湖 电信
高级用户
★★★
积分 906
发帖 346
注册 2006-07-10 09:58
20年会员
UID 58334
性别 男
状态 离线
不用API实现截屏/截取当前窗口内容(“抓图”)


-------
以前我在google里找过实现截屏/截Window的方法,搜到了一个用API函数的,我不喜欢用API,于是就没收藏。今天我无意中发现 System.Windows.Forms.SendKey 对象,一下子就知道该怎么弄了

// 模拟按键,将当前窗口图像截取到剪贴板:
SendKeys.SendWait("%{PRTSC}"); // 模拟 Alt+PrtSc,如果要截取整个屏幕,把 Alt (%) 去掉
// 获取剪贴板里的图像:
Bitmap myCapture = (Bitmap)Clipboard.GetDataObject().GetData(DataFormats.Bitmap);
// 要显示图像可以这么做:
this.pictureBox1.Image = myCapture;
// 要保存图像可以这么做:
myCapture.Save(@"C:\myCapture.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);

-------
不知道有没有人发过,搜索不管用……
2 发表于 2007-06-16 09:15 ·  中国 山东 淄博 联通
中级用户
★★
积分 272
发帖 99
注册 2006-06-02 09:12
20年会员
UID 56414
状态 离线
这是C#写的程序吧

说不用API是因为API被封装了

API可以截取屏幕和当前窗口

在XP下,还可以方便的截取任意窗口的内容

无论是否被遮挡
3 发表于 2008-05-16 07:54 ·  中国 浙江 嘉兴 海宁市 电信
中级用户
★★
积分 360
发帖 216
注册 2007-05-29 17:41
19年会员
UID 89677
性别 男
状态 离线
可能楼主的代码是调用
System.Windows.Forms.SendKey 对象
然后用VBS对该对象的属性进行操作 可惜本人没有领会!

如果是C编写的,有高手能编个EXE吗?方便在CMD或VBS中调用
论坛跳转: