Board logo

标题: 如何判断图片格式~! [打印本页]

作者: iaide     时间: 2007-1-18 05:32    标题: 如何判断图片格式~!

如题:

判断一个文件夹里的一张图片,是那个格式,(.bmp\.jpg)



原因见 5 楼



以下是 everest79 解决的代码;
==============================================
:start
set rp="HKCU\control panel\desktop"
set /a tb=%random%%%8
for /r C:\桌面 %%i in (%tb%.*) do (
reg add %rp% /v TileWallpaper /d 0 /f
reg add %rp% /v Wallpaper /d %%~fi /f
reg add %rp% /v WallpaperStyle /d 2 /f
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters
echo      更换桌面背景成功......)
pause
goto start

===============================================
测试条件:

在C盘里建一个“桌面”文件夹;里面放7张为.bmp格式的图片;
把上面代码复制到记事本里,另存为***.bat  

执行看效果,

[ Last edited by iaide on 2007-1-18 at 09:10 AM ]
作者: electronixtar     时间: 2007-1-18 06:03
后缀是什么格式就是什么格式
作者: ccwan     时间: 2007-1-18 06:04
好像没什么必要。
简单点,echo %1&pause
拖动文件到批处理,显示文件全名。
作者: tao0610     时间: 2007-1-18 06:09

@echo %~x1&pause
干什么用?
作者: iaide     时间: 2007-1-18 07:30
呵,你们可能不理解;我的用途;看完我这代码,应该会理解我吧。

==============================================
@echo off      
title 随机更换桌面      
:start
set gs=.bmp      
set gs1=.jpg
set lz=%temp%\lz.reg      
set /a tb=%random%%%8      
set pd=c:\桌面
set lj=c:\\桌面
echo 请稍等..........      
if /i %pd%\%tb%%gs% goto OK
if /i %pd%\%tb%%gs1% goto OK1
goto start

:OK
(      
echo Windows Registry Editor Version 5.00      
echo.      
echo [HKEY_CURRENT_USER\Control Panel\Desktop]      
echo "TileWallpaper"="0"      
echo "Wallpaper"="%lj%\\%tb%%gs%"      
echo "WallpaperStyle"="2"      
) > %lz%      
regedit /s %temp%\lz.reg      
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters      
del /s %lz% >nul      
echo                   更换桌面背景成功...........
exit

:OK1
(      
echo Windows Registry Editor Version 5.00      
echo.      
echo [HKEY_CURRENT_USER\Control Panel\Desktop]      
echo "TileWallpaper"="0"      
echo "Wallpaper"="%lj%\\%tb%%gs1%"      
echo "WallpaperStyle"="2"      
) > %lz%      
regedit /s %temp%\lz.reg      
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters      
del /s %lz% >nul      
echo.      
echo.      
echo                   更换桌面背景成功...........

================================================

我这样判断不出来,所以请教各位,能否给我指导一下,
作者: everest79     时间: 2007-1-18 07:50

set rp="HKCU\control panel\desktop"
set /a tb=%random%%%8
for /r C:\桌面 %%i in (%tb%.*) do (
reg add %rp% /v TileWallpaper /d 0 /f
reg add %rp% /v Wallpaper /d %%~fi /f
reg add %rp% /v WallpaperStyle /d 2 /f
"RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters"
echo      更换桌面背景成功......)

作者: everest79     时间: 2007-1-18 07:55
请教楼主你的刷新命令有用吗?我是说刷新后图片会改变吗?
我怎么试了不行
你是不是在组策略里指定了桌面?
作者: tghksj     时间: 2007-1-18 08:27
我这也是没有用,后来只好借助于微软的bgswitch

[CODE]
REGSVR32 /S bgswitch.dll
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\BackgroundManager /v "Directory" /t REG_SZ /d F:\桌面背景\wallpaper /f
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\BackgroundManager /v "Refresh Unit" /t REG_DWORD /d 0 /f
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\BackgroundManager /v "Refresh Frequency" /t REG_DWORD /d 0 /f
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\BackgroundManager /v "Random" /t REG_DWORD /d 1 /f
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\BackgroundManager /v "Disabled" /t REG_DWORD /d 0 /f
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\BackgroundManager /v "Force Stretch" /t REG_DWORD /d 0 /f
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\BackgroundManager /v "Count" /t REG_DWORD /d 0 /f
REG ADD HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Desktop\BackgroundManager /v "Current" /t REG_DWORD /d 3 /f
bgswitch
[CODE]
作者: everest79     时间: 2007-1-18 08:43
那一定是在组策略里指定了开启了桌面图片,这样才会监视得到
作者: iaide     时间: 2007-1-18 09:05


  Quote:
Originally posted by everest79 at 2007-1-18 07:50:
[code]
set rp="HKCU\control panel\desktop"
set /a tb=%random%%%8
for /r C:\桌面 %%i in (%tb%.*) do (
reg add %rp% /v TileWallpaper /d 0 /f
reg add %rp% /v Wallpaper /d %%~fi /f
re ...

呵,这个就是我想要的,发现一点就是改注册表的,格式只能用.bmp ,.jgp的不起效的,。我本来的批处理也是在BAT里直接修改注表的。可以当时就是不可用,原来是这个原因,.jpg的不行,
作者: everest79     时间: 2007-1-19 04:04
原来是这样,晕,我记得图片传真查看器是可以自动转换图片格式的,我查查看有没用
作者: lixinwu     时间: 2007-1-20 01:06
学习