|
|
本帖最后由 静庵 于 2026-2-28 10:38 编辑
ENVI path=%Desktop%
ENVI i=1
THREAD* WAIT 3900
THREAD* TEAM WAIT 3000| SEND #17_,#86_,#86^,#17^ //Ctrl-V
WAIT 200
SEND VK_SNAPSHOT //#44
WAIT 100
SCRN -cap %path%\Snapshot_%i%.jpg, 1
上面这段代码,可以实现 pecmd 加载截屏到桌面(.ini或 .wcs文件),但只能实现截屏1个,不能连续截屏,
请高手大神修改添加代码,实现连续截屏,文件名依次加1,如截屏_1.jpg,截屏_2.jpg,截屏_3.jpg,......
坛中有代码,但只能在个别PE中可用,有些PE中不能用,比如利用 nircmd,snashop,以及Windows自带的
截图工具,有些PE中或缺少某个文件等,就不能运行。利用纯 pecmd 代码,应该可以避免文件缺失的问题,
PECMD.EXE,每个PE都有。
==================================================================
PE下实现截屏到桌面方案总结
------------------------------------
方案1:527104427 方案(ppll2030 也予提供),pecmd 代码,保存为 .ini 或 .wcs 格式,本人
测试几个不同版本的10PE、11PE均可使用。
命令结果:截取全屏 jpg 文件。每运行一次,都会保存在桌面,文件名顺次1,2,3 ....。
set dir=%desktop%
team~ set count=1~ loop #1=1, ifex %dir%\%count%.jpg, calc count=%count% + 1! exit
scrn -cap %dir%\%count%.jpg,1
http://bbs.c3.wuyou.net/forum.php?mod=viewthread&tid=446608
----------------------------------
方案2:本人在 pecmd 社区找到的原始 pecmd 代码,保存为 .ini 或 .wcs 格式,本人测试几个
不同版本的10PE、11PE均可使用。本人做了简单修改。
命令结果:截取全屏 jpg 文件,就一个文件保存在桌面,再次运行会覆盖前一次文件。
ENVI path=%Desktop%
ENVI i=1
THREAD* WAIT 3900
THREAD* TEAM WAIT 3000| SEND #17_,#86_,#86^,#17^ //Ctrl-V
WAIT 200
SEND VK_SNAPSHOT //#44
WAIT 100
SCRN -cap %path%\截屏_%i%.jpg, 1
----------------------------------------------
方案3:苹果有毒提供的代码,批处理格式,本人测试几个不同版本的10PE、11PE均可使用。
命令结果:截取全屏 jpg 文件,就一个文件保存在桌面,再次运行会覆盖前一次文件。
也许是本人无知,该代码输出文件是一个黑框截图,不会用。
@echo off
setlocal enabledelayedexpansion
set "basePath=%Desktop%"
set "counter=1"
:checkFile
if exist "%basePath%\!counter!.jpg" (
set /a counter+=1
goto checkFile
)
set "finalPath=%basePath%\!counter!.jpg"
PECMD TEAM DATE *space %date%^|SCRN -cap "!finalPath!",0
输出结果:
-----------------------------------------------------------------------
方案4:baby1277提供的代码,pecmd 格式,本人测试只有 yigeren 11PE可使用。本人
在论坛下载的其它几个PE未能通过。需要文件 nircmd.exe
截取全屏 jpg 文件。每运行一次,都会保存在桌面,文件名顺次1,2,3 ....。
也分享下我的收藏,可以添加右键菜单。
---------------------------------------截图到桌面------------------------------------------------
for /f "eol=H tokens=2 delims=SZ" %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') do cd /d %%i
for /l %%i in (1 1 9) do if not exist 截屏_%%i.bmp set tu=截屏_%%i.bmp&goto tu
:tu
nircmd cmdwait 500 savescreenshot "~$folder.desktop$\%tu%"
该代码 jiavip 修改为:
-------------------------------------截图到桌面------------------------------------------------
for /f "eol=H tokens=2 delims=SZ" %%i in ('reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop') do cd /d %%i
set i=1
:tu
if exist 截屏_%i%.bmp set/a i+=1&goto tu
set tu=截屏_%i%.bmp
nircmd cmdwait 500 savescreenshot "~$folder.desktop$\%tu%"
http://bbs.c3.wuyou.net/forum.php?mod=viewthread&tid=446608
---------------------------------------------------------------------
还有 martin313 老师提供的几个方案,本人小白不会用。
有兴趣的可以看看:http://bbs.c3.wuyou.net/forum.ph ... d&tid=449921&extra=--------------------------------------------------------------------------------------------------
2012qnmd 老师的界面版:原版代码
ENVI^ ForceLocal=1
LOGS * X.LOG
SET &fn=screen.png
SET &wid=0
CALL @WIN1
_SUB WIN1,W449H220,截图,
LABE -VCENTER LABE1,L12T42W68H30,延时(秒):,,
EDIT -VCENTER -3D Delay,L84T43W63H30,0,,
SPIN SPIN1,L156T41W18H34,:0:100,,0x80,0x80
ITEM ITEM1,L191T141W60H30,抓图, OnDo,
LABE -VCENTER LABE2,L12T90W48H30,文件名,,
EDIT -VCENTER -3D wFN,L70T90W335H30,%fn%,,
ITEM ITEM2,L410T89W21H30,>>,OnBrow,
LABE -VCENTER -RIGHT LABE3,L229T41W55H30,对象:,,
EDIT -VCENTER -3D wWid,L291T41W90H30,%wid%,,
_END
_SUB OnBrow
BROW &&fn,%wFN%,选择一个文件,PNG|*.PNG|BMP|*.BMP|JPG|*.JPG|GIF|*.GIF|TIFF|*.TIFF|所有|*.*
FIND $%fn%=, EXIT
ENVI @wFN=%fn%
_END
_SUB OnDo
SET &wid=%wWid%
SET &fn=%wFN%
FIND $%fn%=, EXIT
ENVI @this.visable=0
CALC &&ms=%Delay%
CALC &ms=%&ms% * 1000#0
IFEX $%ms%<0, SET ms=0
CALC #&ms=%&ms% + 10
WAIT %&ms%
SCRN -cap %fn%,%wid%
WAIT 10
ENVI @this.visable=1
_END
运行后弹出界面:
修改了一下:
fnvi^ ForceLocal=1
set &capd=%DeskTop%
set &fn=截屏
set &wid=0
set &ext=jpg
call @win1
_sub win1,w315h166,截图工具,
labe labe3,L20T26W60H20,保存类型:,,
list lext,L80T21W100H20,png|bmp|jpg|gif|tiff,fnvi @wFN=%&capd%\%fn%.%lext%,%ext%
labe -vcenter labe4,L20T50W90H30,保存位置及文件:,,
edit -vcenter -3d wFN,L20T80W230H30,%&capd%\%fn%.%ext%,NAME fn=%wFN%,
item Item2,L260T83W30H26,>>>,OnBrow,
item Item1,L223T17W60H30,截图, OnDo,
_end
_sub OnBrow
brow &&capdir,*%capd%,选择一个文件夹
find $%capdir%=, exit
team fnvi &capd=%capdir%|fnvi @wFN=%&capd%\%fn%.%ext%
_end
_sub OnDo
set &afn=%wFN%
find $%afn%=, exit
fnvi @this.visable=0
calc &&ms=1
ifex $%ms%<0, set ms=0
calc #&ms=%&ms% + 10
wait %&ms%
scrn -cap %afn%,%wid%
wait 10
fnvi @this.visable=1
_end
-----------------------------------------------------------
5大的方案非常完美:
//hotk F11, exec -incmd pecmd load "%CurFile%"*截屏
hotk F11, load "%CurFile%"*截屏
_sub 截屏
set dir=%desktop%
team~ set count=1~ loop #1=1, ifex %dir%\截屏_%count%.jpg, calc count=%count% + 1! exit
scrn -cap %dir%\截屏_%count%.jpg
mess 已截屏保存为:截屏_%count%.jpg @完成 #OK *2000
_end
|
|