中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 15:21
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 转:不用API实现截屏/截取当前窗口内容(“抓图”)
可打印版本  1,079 / 2
第1楼 eech 发表于 2007-06-15 10:12
高级用户 发帖 346 积分 906
转:不用API实现截屏/截取当前窗口内容(“抓图”)
不用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楼 my3439955 发表于 2007-06-16 09:15
中级用户 发帖 99 积分 272
这是C#写的程序吧

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

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

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

无论是否被遮挡
第3楼 bd123456789 发表于 2008-05-16 07:54
中级用户 发帖 216 积分 360
可能楼主的代码是调用
System.Windows.Forms.SendKey 对象
然后用VBS对该对象的属性进行操作 可惜本人没有领会!

如果是C编写的,有高手能编个EXE吗?方便在CMD或VBS中调用
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023