有没有办法在不编辑注册表的情况下更改Windows计算机的桌面背景?因为这个程序将在不同的计算机上运行,这可能会影响USB驱动器盘符有没有一个VBS,它会检查它是什么驱动器号,并将复制照片(我需要驱动器号作为文件原点复制它)到本地驱动器。有人知道怎么做吗? TIA更改不带注册表的桌面背景
0
A
回答
0
不,您需要编辑注册表,这是根据图像引用的定义。
正如上述评论者所说,有办法解决这个问题。首先,你可以尝试一个相对路径而不是绝对路径。在下面的代码中,当然要删除消息框。
Set WshShell = CreateObject("WScript.Shell")
msgbox WshShell.CurrentDirectory 'This returns the path of your script
要获得完整的路径到脚本,只需使用
msgbox WScript.ScriptFullName
奖励积分,我们可以使用
msgbox CreateObject("Scripting.FileSystemObject").GetParentFolderName(WScript.ScriptFullName)
这将否定有关驱动器号或其它地方的任何关注文件夹是。如果你愿意,你可以使用下面的方式来取出盘符。
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("Wscript.Shell")
strPath = objShell.CurrentDirectory
strDrive = objFSO.GetDriveName(strPath)
msgbox strDrive
一些会让您的脚本复杂化的原因是,您希望确保桌面图片在移除闪存驱动器后仍然可用。你有两个选择。一,您可以将您的照片复制到C:上的安全位置。或者,我要做的是在VBS中添加一个侦听器,检查X:驱动器是否仍然可读。一旦闪存驱动器被拔出,vbs将继续运行,因此它会注意到驱动器已经消失,然后将桌面映像恢复。
一些psudocode:
Read the reg desktop location
Back it up
write new location
refresh desktop
Call Secondary Script (OR LOOP NOW to watch the drive)
根据你的脚本做什么,有它调用另一个脚本,检查闪存驱动器,或者仅仅是在主脚本的循环。我只是简单地调用另一个脚本,以便您可以自由地执行其他任何脚本。如果您还有其他问题,请告诉我!
相关问题
- 1. 更改桌子上的背景?
- 2. 如何隐藏Windows桌面并更改c#中的桌面背景颜色?
- 3. 更改表背景
- 4. 如何更改桌面背景的颜色
- 5. 绘制桌面背景(WIN32)
- 6. Powershell - 使桌面背景更改立即生效
- 7. 以编程方式更改桌面背景
- 8. 更改OS X桌面背景图像缩放模式
- 9. 通过python在windows 10中更改桌面背景
- 10. ASP.NET 4注册表更改
- 11. 更改注册表权限
- 12. ProxyEnable注册表项不会更改...?
- 13. 更改背景虚化标签标注
- 14. 更改背景
- 15. 不能更改背景
- 16. 使用jQuery更改页面的背景
- 17. 会话没有注册jQuery的背景
- 18. 桌面视图钛的背景图像
- 19. Windows 8的设置为桌面背景
- 20. 如何从命令行更改注册表注册表?
- 21. 更改i18n_domain for Products.Five注册页面
- 22. 桌面带无法修改
- 23. 通过Javascript更改页面背景
- 24. jQuery切换面板,背景更改
- 25. 用户界面(如何更改背景)
- 26. 更改背景颜色标签面板
- 27. 更改背景onitemselected封面流android
- 28. 我们如何通过提交来改变桌面的背景?
- 29. 更改注册表的脚本DWORD
- 30. 更改DataGridRowHeaderStyle(背景)?
'Wscript.ScriptFullName'包含您的vbs文件的全名,所以只需从它获取驱动器号。 – wOxxOm
不,您不能在不修改注册表的情况下更改墙纸,因为它是存储墙纸位置的地方。 –