标题: [其他] [已解决]批处理如何实现屏幕截图/截屏? [打印本页]
作者: yzzsjc2008 时间: 2009-4-12 03:06 标题: [已解决]批处理如何实现屏幕截图/截屏?
本帖最后由 pcl_test 于 2017-4-16 19:52 编辑
本机操作:我想对我的电脑屏幕每1分钟截图一次,保存图片放在电脑指定位置,图片指定格式(*.jpg *.bmp *.gif)
同时能规定指定截图3个小时(时间可以改动)
我不知道这里高手能不能帮我实现下!对我来说很困难,我的水平很普通!
联系QQ:88473021
e-mail:windowsover@hotmail.com
[ 本帖最后由 yzzsjc2008 于 2009-4-16 05:34 编辑 ]
作者: HoeKey 时间: 2009-4-12 13:11
想实现截屏你留QQ干什么?
作者: Batcher 时间: 2009-4-13 00:00
- @echo off
- setlocal enabledelayedexpansion
- rem 指定保存截图的路径
- set ScFolder=C:\BatHome\Batcher
- rem 规定指定截图3个小时
- set hours=3
- set /a minutes=hours*60
- set count=1
- :LoopPrtSc
- nircmd cmdwait 60000 savescreenshot "%ScFolder%\screenshot_!count!.jpg"
- if !count! equ %minutes% (
- goto :eof
- ) else (
- set /a count+=1
- goto :LoopPrtSc
- )
复制代码
第三方命令行工具nircmd.exe下载地址:
http://bbs.bathome.net/thread-2992-1-1.html
作者: yzzsjc2008 时间: 2009-4-13 01:51
谢谢楼上辛苦奉送代码!功能全部可以实现!给我做活动提供了极大的方便!谢谢!
作者: coolcatsfx 时间: 2009-4-17 10:21 标题: 报错啊?如下
'nircmd' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
作者: coolcatsfx 时间: 2009-4-17 10:45 标题: NIRCMD
原来 NIRCMD 是 批处理第三方命令行工具。
FYI,
http://bbs.bathome.net/viewthread.php?tid=3981&highlight=
作者: tireless 时间: 2009-4-24 13:26
nircmd 2.35 增加了 loop 命令:- @echo off
- set "保存路径=C:\BatHome"
- set "间隔=1" 分钟
- set "循环=3" 小时
- set /a wait=间隔*60*1000, times=循环*60/间隔
- nircmd loop %times% %wait% savescreenshot "%保存路径%\screenshot_~$loopcount$.jpg"
复制代码
作者: q1x2x3 时间: 2011-3-29 12:43 标题: 批处理截屏是如何实现的?
本帖最后由 pcl_test 于 2017-4-16 19:54 编辑
http://www.bathome.net/redirect. ... 8571&ptid=11646
在网上看到这个批可以截屏,想请各位指教下这个批处理是如何实现的,很久没写批处理了,有些看不太懂。
作者: CrLf 时间: 2011-3-29 12:56
其实不是纯P,只是生成estCapture.cs再调用,cs是某脚本文件的后缀名
作者: Batcher 时间: 2011-3-29 13:28
这是一个很多年前的老方法了,现在很少看到有人使用,它需要.NET Framework的支持,不是很方便。
作者: q1x2x3 时间: 2011-3-29 15:30
3# Batcher
请问现在使用什么办法。。不要说那个外部命令,会报毒的,虽然我知道没毒,我也用过不过始终不是很方便
作者: CrLf 时间: 2011-3-29 15:43
不知道为什么唯独{PRTSC}总是发送不出来,要不然就可以用vbs了
作者: Batcher 时间: 2011-3-29 18:45
4# q1x2x3
哪个外部命令报毒?
作者: caruko 时间: 2011-3-30 00:41
这个是先写C代码,然后调用CS编译,最后执行编译后的exe文件。
作者: tools628 时间: 2011-5-13 00:39
非常好用的代码,谢谢各位高手。但还有个问题想大伙帮忙解答,我用这个代码进行自动截图时,如果关闭又重启动,新截图会覆盖掉原来的截图,有没办法解决这个问题?
作者: applba 时间: 2011-5-13 16:36
vbs 调用 printscreen 就行了,可是我vbs一塌糊涂
作者: applba 时间: 2011-5-13 16:49
再发个别人的方法
运行条件:需要 .NET Framework 支持- @echo off
- set "dnfpath=%systemroot%\Microsoft.NET\Framework"
- for /f "delims=" %%v in ('dir /ad /b %dnfpath%\v?.*') do (
- if exist "%dnfpath%\%%v\csc.exe" set "cscpath=%dnfpath%\%%v\csc.exe"
- )
- < "%~f0" more +15 > "%temp%\estCapture.cs"
- %cscpath% /out:"%cd%\estCapture.exe" "%temp%\estCapture.cs" 1>nul
- estCapture.exe
- start estCapture.bmp
- ping -n 2 127.1 1>nul
- del estCapture.exe
-
- goto:eof
-
- :estCapture
- using System.Drawing;
- using System.Drawing.Imaging;
- using System.Windows.Forms;
-
- public class MyClass
- {
- public static void Main()
- {
- Image img = new Bitmap(Screen.AllScreens[0].Bounds.Width, Screen.AllScreens[0].Bounds.Height);
- Graphics g = Graphics.FromImage(img);
- g.CopyFromScreen(new Point(0, 0), new Point(0, 0), Screen.AllScreens[0].Bounds.Size);
- img.Save("estCapture.bmp", ImageFormat.Bmp);
- }
- }
复制代码
http://maodun.5d6d.com/archiver/tid-329.html
作者: xslxslxsl 时间: 2011-8-17 23:05
内容真的很不错
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |