windows使用技巧:桌面壁纸

注:测试电脑系统为win10,win7及11没测过。

在生活中,可能会有这种场景,即壁纸被统一锁定,导致我们无法通过常规方式自由更换。这时候我们可以选择以直接替换壁纸缓存文件的方式,来曲折更换我们的桌面壁纸。

首先,win10中,桌面壁纸一般是放在%USERPROFILE%\AppData\Roaming\Microsoft\Windows\Themes\这个目录下(在文件资源管理器的地址栏里完整输入这个路径,回车即可),其中%USERPROFILE%是你的用户目录。
在这个目录下,会看到一个文件和文件夹:

  • TranscodedWallpaper
  • CachedFiles/

进到CachedFiles/下面,里面应该是有个JPG文件的,假设说我的叫做xxx.jpg,这个名字要记下来,之后我们需要做的主要就是覆盖这个文件。

接下来随便找个地方建一个空白文件夹,做以下操作:

  • 把你心仪的图片拖进这个文件夹,命名为1.jpg
  • 在文件夹下新建一个a.bat,文件内容如下:
cd /d %~dp0

del /f/s/q %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Themes\*.*
del /f/s/q %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Themes\CachedFiles\*.*

xcopy /y 1.jpg %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Themes\
xcopy /y 1.jpg %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Themes\CachedFiles\


rename %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Themes\1.jpg TranscodedWallpaper
rename %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Themes\CachedFiles\1.jpg xxx.jpg


RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters 1, True

pause

之后右键以管理员身份执行该bat文件,理论上壁纸就可以刷新。
如果还是没变,可以在桌面空白处右键刷新几次;
如果还是不行,可以试试下面两种方式:

  • 多次执行上面命令 + 桌面刷新;
  • 重启电脑后,再执行几次上面命令;

重启大法,亲测没有重启解决不了的。

代码里刷新壁纸,是执行了以下命令:

RUNDLL32.EXE USER32.DLL,UpdatePerUserSystemParameters 1, True
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 C 语言中,使用 HTML 页面实现 Windows 桌面壁纸是比较复杂的,因为 C 语言本身并不直接支持渲染 HTML 页面。不过,你可以使用一些第三方库来实现这个功能。 以下是一个示例,演示如何使用 CEF(Chromium Embedded Framework)库来加载和渲染 HTML 页面作为 Windows 桌面壁纸: 1. 首先,下载并安装 CEF 库。你可以从 CEF 官方网站(https://cefsharp.github.io/)下载适合你的操作系统的版本。 2. 创建一个 C 语言项目,并将 CEF 的头文件和库文件添加到项目中。 3. 在代码中,使用 CEF 提供的 API 来创建并配置 WebView 对象,加载 HTML 页面,并将其渲染到桌面上。 ```c #include <windows.h> #include <cef_app.h> #include <cef_browser.h> #include <cef_client.h> // 实现自定义的 CefClient 类 class CustomCefClient : public CefClient { // ... // 在这里实现 CefClient 的相关回调函数 // ... }; int main() { // 初始化 CEF CefMainArgs main_args; CefRefPtr<CustomCefClient> client(new CustomCefClient); CefSettings settings; CefInitialize(main_args, settings, client.get(), nullptr); // 创建 WebView 对象 CefBrowserSettings browser_settings; CefWindowInfo window_info; // 设置 window_info 对象的相关参数,例如窗口大小和位置等 CefRefPtr<CefBrowser> browser = CefBrowserHost::CreateBrowserSync(window_info, client.get(), "http://your_html_page"); // 设置 WebView 对象的相关参数,例如缩放比例和渲染模式等 // 进入 CEF 消息循环 CefRunMessageLoop(); // 清理并关闭 CEF CefShutdown(); return 0; } ``` 在上述代码中,你需要自定义一个继承自 CefClient 的类,实现相应的回调函数。在回调函数中,你可以处理 WebView 对象的事件和行为。 请注意,这只是一个简单的示例,并且需要进一步完善和适配你的具体需求。使用 CEF 来实现 Windows 桌面壁纸需要熟悉 CEF 的相关文档和 API,以及对 HTML、CSS 和 JavaScript 的基本了解。 另外,还有其他的第三方库和工具可以用于在 C 语言中渲染 HTML 页面,例如 Awesomium 和 WebKit 等。你可以根据自己的需求选择合适的库来实现桌面壁纸功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值