我尝试了所有方法,让 bginfo 在登录时自动运行,但都失败了,我的 Windows 2012 R2 服务器上就是如此。我以为是脚本问题,直到我手动指定了写入映像文件的路径。基本上,事情是这样的:
1) 以 x 用户身份登录。2
) 计划任务启动 bginfo 脚本。3
) 新桌面映像文件写入指定目录。4
) 实际桌面未更新为新映像。
我尝试过使用计划任务、组策略启动脚本,甚至启动文件夹中的快捷方式。每次启动脚本/快捷方式时,桌面都会更新。似乎当我尝试自动执行该过程时,它失败了。救命!
答案1
您的问题的直接答案是,您需要将 Windows 背景设置为 BGinfo 创建的图像。在我的 Windows 2003 系统上,我使用以下命令执行此操作:
- 以目标用户身份登录
- 右键单击桌面背景
- 在弹出窗口中单击“属性”,
- 在出现的“显示属性”对话框中单击“桌面”选项卡
- 在“背景:”列表中选择“BGInfo”条目;如果没有,请单击“浏览”并找到 BGInfo 程序的“位图>位置”对话框中指示的文件。
- 单击“确定”关闭“显示属性”对话框
然后,BGinfo 生成的桌面图像将显示在桌面上。图像中的信息将是上次运行 BGinfo 时的最新信息。
但是,既然您提到从计划任务触发 BGinfo,我想您希望定期更新该信息,并在桌面背景上显示最新信息。我的实现是在“程序>启动”文件夹中定义一个快捷方式,参数如下:
Target: "C:\Program Files (x86)\Sysinternals Software\Bginfo.exe" local.bgi /timer:0
Start in: "C:\Program Files (x86)\Sysinternals Software"
每次我登录时都会更新信息,对于长期运行的服务器来说,更新频率比重新启动的频率要高,但可能不足以跟上快速消耗的磁盘空间。如果您想在用户登录时更新信息,您可以创建一个计划任务,每天运行一次或更频繁地运行。如果您的 BGInfo 定义包含任何用户特定的信息,则需要为每个用户定义一个单独的任务。该任务应调用类似于以下内容的批处理文件:
REM BGInfoBatch.cmd: run BGInfo to update wallpaper image, and force update.
"C:\Program Files (x86)\Sysinternals Software\Bginfo.exe" "C:\Program Files (x86)\Sysinternals Software\local.bgi" /timer:0
RUNDLL32.EXE user32.dll,UpdatePerUserSystemParameters
您可能需要根据以下情况调整该批处理文件这个问题。 如果您希望在显示的信息中有一个值来告诉您该信息的最新程度,您可以创建一个名为“已更新”、类型为“文件时间戳”以及输出 bginfo.bmp 文件的路径的自定义字段。
答案2
我在 Win2012R2 下自动更新背景图片时也遇到了问题。双击运行 bginfo 可以正常工作,但将快捷方式添加到自动启动文件夹或使用注册表中的自动启动条目则不行。
解决方案是授予所有用户对 C:\windows\bginfo.bmp 的修改权限。
答案3
1)UAC关闭
2)在 bginfo.exe 属性中启用“以所有用户的管理员权限运行”
3)用模拟参数制作你的bat文件:
C:\1\Bginfo.exe C:\1\1.bgi /TIMER:0 /SILENT /NOLICPROMPT
4)将 bat 文件复制到 Windows 启动目录(不是用户目录)
C:\ProgramData\Microsoft\Windows\开始菜单\程序\启动
5) 更改 bg.bmp 文件的文件权限
%温度%
....
6)利润!1!!!1