无忧启动论坛

标题: 【分享】利用PECMD和MSPAINT实现零体积一键截图功能 [打印本页]

作者: NicTense    时间: 2010-3-23 16:21
标题: 【分享】利用PECMD和MSPAINT实现零体积一键截图功能
原文出自:http://hi.baidu.com/nictense/blog/item/8236942549238f27d407420d.html

其实PE里截图用到的机会并不多,集成专业的截图软件实在没有必要。

大家都知道,按下 Print Screen 键可以将当前屏幕画面截取到剪贴板中,再打开附件中的画图,从菜单中依次选择“编辑”-〉“粘贴”,再根据需要截取、加工,保存即可。

不过这样操作起来毕竟有点麻烦,其实利用PECMD的SEND功能,即可实现一键截图功能。

这个问题最大的难处在于 Pring Screen 键是没有键值的,所以我们无法模拟这个按键,没关系,我们可以模拟SNAPSHOT键。

首先,我们需要创建一个INI文件,命名为SNAPSHOT.INI,放于PE目录的SYSTEM32目录下

文件源代码如下:
  1. WAIT 200
  2. SEND #44
  3. WAIT 100
  4. EXEC =!CMD /C "start /max mspaint.exe"
  5. WAIT 200
  6. SEND #17_,#86_,#86^,#17^
复制代码
接下来我们需要在PECMD.INI中的SHEL语句前增加一行,内容如下:

  1. HOTK #120,PECMD.EXE LOAD %WinDir%\SYSTEM32\SNAPSHOT.INI
复制代码
这里我们定义截图快捷键为F9,若想换其他键只需修改#120为其他键值即可。

好了,重新打包PE,启动后按F9试试吧!




本人近期发布帖子汇总,方便查询

【下载】Tango WinPE 2010 虎年珍藏版,32M新版XP3内核PE

【原创】为你的PE系统添加计算机型号和CPU识别功能

【原创】TXTSETUP.SIF减肥和检查错误批处理TSLite

【原创】玩转PE墙纸(开机随机显示墙纸+一键切换循环显示)

【下载】通用型PE一键美化工具PEBeautify+TangoPE美化包(PE美化,只需10秒)

【分享】利用PECMD和MSPAINT实现零体积一键截图功能

【原创】shell32.dll的终极精简&美化教程 (这个是很久前的了)

[ 本帖最后由 NicTense 于 2010-3-23 18:56 编辑 ]
作者: ixxxxyou    时间: 2010-3-23 16:28
真的可以?  马上试试
作者: 135956    时间: 2010-3-23 17:16
以前用au3这样做过。。。
作者: 网虫2008    时间: 2010-3-23 17:28
这个方法和思路很值得学习呀,,把操作连贯起来和成一个热键.......
作者: elai    时间: 2010-3-23 17:28
这是将当前屏幕画面截取到剪贴板?如果截取窗口呢?

哦,看到了:按下 Alt + Print Screen 键可以只截取当前激活窗口,这个键暂时未找到模拟按键的替代方法。

先试试将当前屏幕画面截取到剪贴板!

[ 本帖最后由 elai 于 2010-3-23 17:31 编辑 ]
作者: 网虫2008    时间: 2010-3-23 17:36
原帖由 elai 于 2010-3-23 17:28 发表
这是将当前屏幕画面截取到剪贴板?如果截取窗口呢?


这就是给不经常用截图的朋友提供方便的,只是利用系统自带的功能,编代码把抓满屏后要做的操作结合起来,在画图里再进行剪切就行了。偶尔为之的,,,

要是经常要使用截图功能,或要临时做一系列的截图说明图片,用这个得把人累死,还是暂时添加个小的截图软件合适。
作者: NicTense    时间: 2010-3-23 17:44
原帖由 网虫2008 于 2010-3-23 17:36 发表


这就是给不经常用截图的朋友提供方便的,只是利用系统自带的功能,编代码把抓满屏后要做的操作结合起来,在画图里再进行剪切就行了。偶尔为之的,,,

要是经常要使用截图功能,或要临时做一系列的截图说 ...


如果要连续截图,必须调用一个能保存剪贴板的工具,比如NirCMD,但是NirCMD貌似有些杀毒软件会报警,所以得另寻出路
本来这个保存图片的功能应该是很简单的,但是我太久没有编程了,加上电脑里也没有相关的工具,这个就先搁置了
等偶研究一下powerbasic,再回头解决它。

零体积这个命题不错的,利用windows自带的命令行工具,系统函数,加上pecmd等,可以实现很多外置工具的功能
作者: bank-w3000    时间: 2010-3-23 17:46
感谢分享,楼主新作不断。
作者: 网虫2008    时间: 2010-3-23 18:11
原帖由 NicTense 于 2010-3-23 17:44 发表

零体积这个命题不错的,利用windows自带的命令行工具,系统函数,加上pecmd等,可以实现很多外置工具的功能...


是呀,零体积的命题和思路都不错,我看也不用全部设置热键。
把自带的常用的自带工具整合后,做个小长条的按钮界面就行。

就当做系统扩展插件了...
作者: 66369    时间: 2010-3-23 21:13
原帖由 网虫2008 于 2010-3-23 18:11 发表


是呀,零体积的命题和思路都不错,我看也不用全部设置热键。
把自带的常用的自带工具整合后,做个小长条的按钮界面就行。

就当做系统扩展插件了...



天使的做法.对没有键值的...有参考意义.而不在截图的啊.
作者: slore    时间: 2010-3-23 21:35
S2B 增加了直接截图保存。。。不只是剪贴板上的了,3KB。但是。。。大问题是BMP格式上,很郁闷呀。
作者: NicTense    时间: 2010-3-23 21:40
原帖由 slore 于 2010-3-23 21:35 发表
S2B 增加了直接截图保存。。。不只是剪贴板上的了,3KB。但是。。。大问题是BMP格式上,很郁闷呀。


直接截图是截屏幕还是截激活窗口,貌似我试过模拟不了alt+print screen

有空再找找有没有解决办法,不过截取当前窗口用得不多,最多手工解决,问题不大

如果单截一幅图,其实这个用画笔的功能挺好的,方便马上截取,加工

如果要连着截,就需要这样的工具了,保存格式,最好是png,因为不失真,其次是jpg
作者: wama    时间: 2010-3-26 16:23
直接用截图工具,都很快呢?
作者: kendling    时间: 2010-3-27 08:57
方法不错,可惜不支持自定义截图。
作者: NicTense    时间: 2010-3-27 22:37
原帖由 kendling 于 2010-3-27 08:57 发表
方法不错,可惜不支持自定义截图。


没有截图软件的时候的替代品而已,毕竟是0体积的

不过自定义截图其实是可以实现的啊,进了画图之后,你用裁剪要哪块就哪块




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3