利用注册表修改桌面背景
在注册表中的HKEY_USERS根键下 每个用户都有 .DEFAULT\Control Panel\Desktop键来控制桌面的配置。
其中的子键Wallpaper代表的是背景图的路径,而WallpaperStyle和TileWallpaper则分别代表的是现实的风格。在实例程序中通过修改参数可以得到以下三种风格。
EWPS_TILE,平铺
EWPS_CENTER,居中
EWPS_STRETCH, 拉伸
这些都只要一个函数就能解决啦。
//风格类型枚举
enum EWALLPAPERSTYLE
{
EWPS_TILE,
EWPS_CENTER,
EWPS_STRETCH
};
//设置图片函数
bool SetWallpaper(LPCTSTR fileName,int iStyle)
{
HKEY regKeyRoot;
CFileFind ffind ;
//判断图片文件是否存在
CString filestr = fileName;
if(!ffind.FindFile(filestr))
{
return false;
}
//打开注册表 ".DEFAULT"为默认的桌面 如果是其他用户要用SID
if(ERROR_SUCCESS==RegOpenKey(HKEY_USERS,
".DEFAULT\\Control Panel\\Desktop",
®KeyRoot))
{
char datas[2];
datas[1]='\0';
switch (iStyle)
{
case EWPS_CENTER:
{
datas[0]='0';
RegSetValueEx(regKeyRoot,"WallpaperStyle",NULL,REG_SZ,(unsigned char*)datas,sizeof(datas));
RegSetValueEx(regKeyRoot,"TileWallpaper",NULL,REG_SZ,(unsigned char*)datas,sizeof(datas));
break;
}
case EWPS_STRETCH:
{
datas[0]='2';
RegSetValueEx(regKeyRoot,"WallpaperStyle",NULL,REG_SZ,(unsigned char*)datas,sizeof(datas));
datas[0]='0';
RegSetValueEx(regKeyRoot,"TileWallpaper",NULL,REG_SZ,(unsigned char*)datas,sizeof(datas));
break;
}
case EWPS_TILE:
{
datas[0]='0';
RegSetValueEx(regKeyRoot,"WallpaperStyle",NULL,REG_SZ,(unsigned char*)datas,sizeof(datas));
datas[0]='1';
RegSetValueEx(regKeyRoot,"TileWallpaper",NULL,REG_SZ,(unsigned char*)datas,sizeof(datas));
break;
}
default:
{
RegCloseKey(regKeyRoot);
return false;
}
}
RegSetValueEx(regKeyRoot,"Wallpaper",NULL,REG_SZ,(unsigned char*)filestr.GetBuffer(0),filestr.GetLength());
RegCloseKey(regKeyRoot);
}
return true;
}
下面发一个DEMO程序 是VC6.0的
/Files/oplusx/WallBACK修改背景源代码.rar
转载于:https://www.cnblogs.com/oplusx/archive/2009/11/04/1595732.html
利用注册表修改桌面背景相关推荐
- 如何利用注册表修改开机启动程序并提高电脑开机速度!
利用注册表修改开机启动程序: 修改以下三个地方就可以了,最主要的是Run这个地方.[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersi ...
- 利用注册表修改文件关联
最近在看注册表方面的东西.正巧醒哥回来了,让我做个修改文件关联的程序.具体用什么方法实现,不用管,只要能实现就可以了. 那就用注册表来实现好了. 那么利用注册表的话有几种方法可以修改关联方式呢? 首先 ...
- 如何在注册表里计算机用户名,可以通过注册表修改电脑的密码 ?怎么做的?
可以通过注册表修改电脑的密码 ?怎么做的?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 可以通过注册表修改电脑的密码 ...
- 利用注册表来去除桌面底纹
之前我讲解了如何清除Windows7桌面图标上的蓝色底纹,有些朋友跟我反映,问题依然存在.下面,我推荐问题没有解决的朋友使用注册表修改法来清除,基本上99%的人都能解决故障. 操作步骤 1.打开注册表 ...
- Windows注册表修改实例完全手册(下)
注 册表是Windows操作系统的核心.它实质上是一个庞大的数据库,存放有计算机硬件和全部配置信息.系统和应用软件的初始化信息.应用软件和文档文件的 关联关系.硬件设备说明以及各种网络状态信息和数据. ...
- 注册表修改大全(浏览文章时可以使用CTRL+F查找)
注册表修改大全 <开始菜单及相关设置> [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Expl ...
- 史上很全的注册表修改大全
史上很全的注册表修改大全 请使用 Ctrl+F 键来查找你想要的 不想别人使用你电脑的某些功能,或是在网吧想使用某些功能,或是让自己的电脑速度更快 怎么办 如果你有点注册表的知识就OK拉 没有多深奥 ...
- VC++实现像360安全桌面一样修改桌面背景
具体实现如下,像360安全桌面一样修改桌面背景 模仿360的时候要学习360的狼性文化 #include "stdafx.h" #include<stdio.h> #i ...
- 常见的注册表修改大全
常见的注册表修改大全 <开始菜单及相关设置> [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\E ...
- 让注册表修改快速生效
让注册表修改快速生效 当我们修改了注册表,许多情况下只按下F5键刷新注册表还不足以使修改生效,而需要重新启动计算机.其实我们不必每次都重启机器,只需运行Windows的外壳程序Explorer即可(在 ...
最新文章
- C++实现学生成绩管理系统
- 【synchronized底层原理之4】锁的升级过程及比较
- java 虚拟机 参数_Java虚拟机的参数
- HarmonyOS之组件通用的XML属性总览
- LeetCode 494. 目标和(DFS+DP)
- pointnet源码阅读:训练
- 计算机远程桌面连接软件,windows7远程桌面连接软件 提取自最新windows7,可运行于XP...
- 新版百元纸币下月发行!这些防伪你要知道
- XMU 1612 刘备闯三国之桃园结义 【二分】
- 分析称微软中国市场营收低或是梁念坚离职主因
- <C++>多继承以及典型的菱形继承案例
- showdown ( markdown解析)
- 我发现微信、知乎、B站,居然都暗藏彩蛋!
- AutoLISP将图形中文字写入外部文件
- tensor的storage(),stride(),storage_offset()
- 响应式分布式区别_边缘计算的七种定义,边缘计算与云计算、雾计算的区别
- 团队沟通中的误区与技巧(zt)
- 案例学习|Python实现某医院药品销售分析
- 网易前端微专业课程讨论区问答精选
- 用pytest.fixture处理接口自动化跨文件token传参