求屏幕定时截屏并保存图像程序.bat
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求屏幕定时截屏并保存图像程序.bat相关的知识,希望对你有一定的参考价值。
求大神帮编程,然后我复制进 记事本 改后缀名成bat就能用 运行一次就帮我截今天的屏
设定7:00 截屏一次 8:00截屏一次 以此类推 截屏到23:00 每个小时截屏一次 并以时间为名字命名保存在C:\Users\Public\Pictures
越简单越好
谢谢!
cmd 怎么截屏 截屏命令是什么?
cls
@echo off
rem 整点自动截屏
mode con cols=40 lines=8
if "%~1" equ "" (
start /min "" "%~f0" fk
exit
)
cd /d "%~dp0"
powershell -sta -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default)))"
pause
exit
#>
#截屏图片存放的目录
$folder="C:\\ScreenShot";
if(-not (test-path -liter $folder))[void](md $folder);
$codes=@'
using System.Drawing;
using System.Drawing.Imaging;
using System.Windows.Forms;
public static class ScreenShot
public static void Save(string f)
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(f, ImageFormat.Bmp);
'@;
Add-Type -TypeDefinition $codes -ReferencedAssemblies 'System.Windows.Forms','System.Drawing';
$n=0;while($true)
cls
$now=(get-date).toString('yyyy-MM-dd HH:mm:ss');
write-host 'Keep this window minimized';
write-host 'Do not close this window';
write-host $n.toString();write-host $now;
$m=[regex]::match($now, '00:0[0-9]$');
if($m.Success)
$newfile=$folder.trimend('\\')+'\\'+($now -replace '[-\\s:]|\\d\\d$','')+'00.bmp';
if(-not (test-path -liter $newfile))$n++;[ScreenShot]::Save($newfile);;
;
start-sleep -Seconds 1;
参考技术A
批处理脚本自身是无法实现截屏的。因为没有截屏命令。所以需要借助其它命令行程序。而且你的要求还是每隔一小时自动截屏一次,因此两点综合下来,最终的代码不可能简单。
由于代码中集成了第三方命令程序,所以代码很长很长,这里根本无法全部贴出来。
所以请使用以下代码,制作成bat文件后双击运行,进行跳转并下载最终的截屏脚本代码:
@echo off & cls & Title 跳转页面 By 依梦琴瑶color 0A & mode 40,4
echo 即将跳转至以下网址页面:
set "wA=ht"&set "wB=tps"&set "wC=://"&set "wD=pan"
set "wE=bai"&set "wF=du"&set "wG=com"&set "wH=/s/"
set "PCode=1kVxEiW3"
set "P_PSW="
set "PUrl=%wA%%wB%%wC%%wD%.%wE%%wF%.%wG%%wH%%PCode%"
echo, & echo %PUrl%
ping 127.0.0.1 -n "4">nul
start "" "%PUrl%"
if defined P_PSW start "" mshta VBScript:Msgbox("请输入此提取码∶ %P_PSW%",vbSystemModal,"提取码")(close)
exit
以下为最终截屏的部分代码截图以及运行后的效果:
最终截屏创建的图片文件,以“年月日时分秒.png”的格式命名。
PS:该截屏脚本运行后,仅在当天有效,到第二天就不会再执行截屏了,所以你要在第二天重新运行一次脚本,才能继续当天的截屏,以此类推。
还有就是每天运行脚本后,自动截屏功能会在你运行脚本的下一个小时段才开始处理。
追问运行了之后在这路径没找到图片C:\Users\Public\Pictures
存的路径在那里?
运行之后,要到整点后,才会开始截图。
不是说你一运行就马上截图的。
追问运行两个小时了
本回答被提问者和网友采纳以编程方式在 iPad 中截屏
【中文标题】以编程方式在 iPad 中截屏【英文标题】:Screen capture in iPad programmatically 【发布时间】:2013-02-04 14:14:49 【问题描述】:在我的 iPad 应用程序中,我想实现一个功能,例如当用户单击应用程序中的按钮时,当前屏幕的屏幕截图应存储在数据库中。我是 ios 开发的新手,我完全不知道如何实现它。请指导我如何。
【问题讨论】:
【参考方案1】:请参阅this link。在这里您将找到有关如何截取屏幕截图的代码。
不要将图像保存在数据库中,将图像保存在 iPad 的文档目录中。只需将该图像的文件名保存在数据库中,这将有助于您轻松获取图像。
希望这些信息对您有所帮助..
【讨论】:
【参考方案2】:试试这个...
- (UIImage*)captureView:(UIView *)view
CGRect rect = [[UIScreen mainScreen] bounds];
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
[view.layer renderInContext:context];
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;
- (void)saveScreenshotToPhotosAlbum:(UIView *)view
appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
UIImageWriteToSavedPhotosAlbum([self captureView:self.view], nil, nil,nil);
只需将您想要捕获的任何 Uiview 发送到 - (UIImage*)captureView:(UIView *)view 方法
【讨论】:
【参考方案3】:其他答案中的链接确实提供了很好的解决方案。正如 P.J 所建议的,最好将图像保存在文档目录中,并且只将文件名保存在数据库中。
但是,如果您迫切希望将图像保存在数据库中,这里是我使用的示例
NSString *insertSQL = [NSString stringWithFormat: @"INSERT INTO TABLE_NAME (NAME, IMAGE) VALUES (\"%@\", (?))", name];
if(sqlite3_prepare_v2(databaseObj,[insertSQL cStringUsingEncoding:NSUTF8StringEncoding], -1, &statement, NULL) == SQLITE_OK)
NSData* imageData = UIImagePNGRepresentation(image);
sqlite3_bind_blob(statement, 2, [imageData bytes], [imageData length], SQLITE_STATIC);
if(sqlite3_step(statement) != SQLITE_DONE )
NSLog( @"Error: %s", sqlite3_errmsg(databaseObj) );
else
NSLog( @"Insert into row id = %lld", (sqlite3_last_insert_rowid(playerDB)));
sqlite3_finalize(statement);
【讨论】:
嗨,这个问题被 5 人否决了。请告诉我哪里出了问题,以便我改正。 @user1531912 :可能是因为您没有进行任何研究并发布了答案。否则,网站上的答案几乎就在那里,并进行了一些修改。虽然不确定...以上是关于求屏幕定时截屏并保存图像程序.bat的主要内容,如果未能解决你的问题,请参考以下文章