中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-28 22:57
47,815 主题排行 / 349,915 发帖 / 今日 1 篇 / 48,265 会员排行
DOS批处理 & 脚本技术(批处理室) » 用VBS脚本实现截屏到系统剪贴板或画图
可打印版本  4,612 / 22
第1楼 my3439955 发表于 2007-06-16 21:48
中级用户 发帖 99 积分 272
用VBS脚本实现截屏到系统剪贴板或画图
这样把简短的第三方工具集合到VBS脚本中就可以实现更丰富的功能了

本帖还可以作为在VBS中嵌入二进制代码的通用方法



十二楼的代码增加了对发送到画图的支持

[ Last edited by my3439955 on 2007-6-18 at 07:12 PM ]
第2楼 lxmxn 发表于 2007-06-16 21:51
版主 发帖 4,938 积分 11,386
这个不错啊,加分鼓励一下。
第3楼 wudixin96 发表于 2007-06-16 22:01
银牌会员 发帖 931 积分 1,928
还用到XML。不错。加分,:-)
第4楼 my3439955 发表于 2007-06-16 22:05
中级用户 发帖 99 积分 272
不这样的话写不了二进制文件呀
第5楼 zh159 发表于 2007-06-16 23:04
金牌会员 发帖 1,467 积分 3,687
越大的二进制文件感觉用baomaboy的“转为批处理文件”转换出来越省空间(小文件主要是写入部分脚本较多)

LZ的是3.57k,这个是3.1k


[ Last edited by zh159 on 2007-6-16 at 11:05 PM ]
第6楼 my3439955 发表于 2007-06-16 23:06
中级用户 发帖 99 积分 272
对的
这个使用的字符集比我的多得多
因此压缩率方面肯定占优势
第7楼 zh159 发表于 2007-06-16 23:14
金牌会员 发帖 1,467 积分 3,687
你这个的好处是可以将16进制数据直接写入bin;之前刚用过,将GB文字转为16进制的UTF-8编码写为BIN文件
第8楼 eech 发表于 2007-06-16 23:39
高级用户 发帖 346 积分 906
太好了,问了这么久,终于有结果了,可以改一下,将抓到的图直接发送到画图中吗?这样就方便多了,不知要求是不是太过分了,呵呵
第9楼 eech 发表于 2007-06-16 23:49
高级用户 发帖 346 积分 906
再加一句删除生成临时文件的代码不好吗?用的时候再生成是了
第10楼 my3439955 发表于 2007-06-16 23:53
中级用户 发帖 99 积分 272
这是纯API写的程序

能小到1.5K已经很不容易了

要支持图象保存的话程序会异常烦琐

使用类库比较简单

但是目标程序又非常大

两难啊
第11楼 my3439955 发表于 2007-06-16 23:57
中级用户 发帖 99 积分 272
Originally posted by eech at 2007-6-16 23:49:
再加一句删除生成临时文件的代码不好吗?用的时候再生成是了



是不错
可是很多时候那个程序回弹出一个通知对话框
程序在内存驻留
是删不掉的
第12楼 my3439955 发表于 2007-06-17 00:44
中级用户 发帖 99 积分 272
现在可以支持发送到画图了

以下脚本生成的Exe文件加/c参数可以达到发送到画图的功能



查看如何使用这种类型的VBS脚本

[ Last edited by my3439955 on 2007-6-17 at 06:49 PM ]
第13楼 zh159 发表于 2007-06-17 01:15
金牌会员 发帖 1,467 积分 3,687
改一下就可以删除临时文件
第14楼 my3439955 发表于 2007-06-17 11:54
中级用户 发帖 99 积分 272
会不会程序还没来得及启动就已经被删除了?
第15楼 zh159 发表于 2007-06-17 13:51
金牌会员 发帖 1,467 积分 3,687
Originally posted by my3439955 at 2007-6-17 11:54:
会不会程序还没来得及启动就已经被删除了?

我试过了,可以抓屏,你也可以试试
关键在于WScript.CreateObject("WScript.Shell").Run TargetFileName & " /s",,true,使用true必需要运行的程序执行完毕才进入下一步
PS:需要两个逗号,因为第一个逗号段可以增加vbhid使用,作为隐藏运行
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023