中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-03 10:51
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]如何通过rundll32.exe实现命令行更改桌面背景.
可打印版本  2,282 / 6
第1楼 tghksj 发表于 2006-12-04 19:10
社区乞丐 发帖 90 积分 -49
[求助]如何通过rundll32.exe实现命令行更改桌面背景.
如题:

显示器
模块: desk.cpl
命令: rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0
结果: 背景设置。

上面那个也不能直接改...下面却是屏保的,郁闷

模块: appwiz.cpl
命令: rundll32.exe desk.cpl,InstallScreenSaver c:\winnt\system\Flying Windows.scr
结果: 安装屏幕保护并显示预览属性页。

对于网络上可以查找到的rundll32.exe调用命令只是可以显示出某个操作界面.
对于脚本自动化没有任何作用...

关于命令行方式调用.dll函数的格式
以及支持带参调用的方式 是怎样 的资料一点也没有查到.

[ Last edited by tghksj on 2006-12-6 at 02:50 PM ]
第2楼 redtek 发表于 2006-12-04 21:07
金牌会员 发帖 1,147 积分 2,902
兄可以参考下面贴子内容,从注册表更改桌面背景到刷新桌面到使用第三方工具都谈及了~:)


更换桌面背景
http://www.cn-dos.net/forum/viewthread.php?tid=24982&fpage=1&highlight=%E6%A1%8C%E9%9D%A2


设置背景桌面 建立快捷方式 清空回收站 命令小工具
http://www.cn-dos.net/forum/viewthread.php?tid=23132&fpage=1&highlight=%E6%A1%8C%E9%9D%A2


用Rundll32如何“刷新桌面”和重新加载“explorer.exe”?
http://www.cn-dos.net/forum/viewthread.php?tid=24465&fpage=1&highlight=%E6%A1%8C%E9%9D%A2

[ Last edited by redtek on 2006-12-4 at 08:08 AM ]
第3楼 tghksj 发表于 2006-12-07 03:41
社区乞丐 发帖 90 积分 -49
RE redtek :

我的设想是想利用rundll32.exe可以调用函数的功能,实现单句达到目的.
因为在user.dll中有替换桌面背景的函数,只是我在命令行中用rundll32.exe调用后
没有任何反映.

我的问题的关键不在"更换桌面背景"而在于如何通过rundll32.exe来实现.
既然rundll32.exe可以调用.dll函数,那么批处理为什么不能利用它象VB.VC的面向对象编程呢?

关于借助于第3方插件的批处理我早就已经实现并使用.借助MS的"壁纸自动换"代码如下
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
COPY bgswitch.dll %WINDIR%\SYSTEM32\
COPY bgswitch.exe %WINDIR%\SYSTEM32\
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 0 /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
bgswitch
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

啊对了,谢谢你给我的那个"TGHKSJ.CMD"加的5分,呵呵:P

[ Last edited by tghksj on 2006-12-6 at 02:54 PM ]
第4楼 lovehack2006 发表于 2007-02-16 03:29
初级用户 发帖 64 积分 135
好东西。。。。
第5楼 anqing 发表于 2007-02-16 22:24
高级用户 发帖 413 积分 859
顶一下,我也想知道api的函数功能
第6楼 gne3 发表于 2007-02-17 01:14
高级用户 发帖 252 积分 526
ding
第7楼 everest79 发表于 2007-02-17 02:49
金牌会员 发帖 1,127 积分 2,564

%wallpaper%为完整路径的BMP文件
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023