在注册表中的HKEY_USERS根键下 每个用户都有 .DEFAULT\Control Panel\Desktop键来控制桌面的配置。

其中的子键Wallpaper代表的是背景图的路径,而WallpaperStyle和TileWallpaper则分别代表的是现实的风格。在实例程序中通过修改参数可以得到以下三种风格。

EWPS_TILE,平铺
        EWPS_CENTER,居中
        EWPS_STRETCH, 拉伸

这些都只要一个函数就能解决啦。

Code
//风格类型枚举
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",
        &regKeyRoot))
    {
        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

利用注册表修改桌面背景相关推荐

  1. 如何利用注册表修改开机启动程序并提高电脑开机速度!

    利用注册表修改开机启动程序: 修改以下三个地方就可以了,最主要的是Run这个地方.[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersi ...

  2. 利用注册表修改文件关联

    最近在看注册表方面的东西.正巧醒哥回来了,让我做个修改文件关联的程序.具体用什么方法实现,不用管,只要能实现就可以了. 那就用注册表来实现好了. 那么利用注册表的话有几种方法可以修改关联方式呢? 首先 ...

  3. 如何在注册表里计算机用户名,可以通过注册表修改电脑的密码 ?怎么做的?

    可以通过注册表修改电脑的密码 ?怎么做的?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 可以通过注册表修改电脑的密码 ...

  4. 利用注册表来去除桌面底纹

    之前我讲解了如何清除Windows7桌面图标上的蓝色底纹,有些朋友跟我反映,问题依然存在.下面,我推荐问题没有解决的朋友使用注册表修改法来清除,基本上99%的人都能解决故障. 操作步骤 1.打开注册表 ...

  5. Windows注册表修改实例完全手册(下)

    注 册表是Windows操作系统的核心.它实质上是一个庞大的数据库,存放有计算机硬件和全部配置信息.系统和应用软件的初始化信息.应用软件和文档文件的 关联关系.硬件设备说明以及各种网络状态信息和数据. ...

  6. 注册表修改大全(浏览文章时可以使用CTRL+F查找)

    注册表修改大全 <开始菜单及相关设置> [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Expl ...

  7. 史上很全的注册表修改大全

    史上很全的注册表修改大全 请使用 Ctrl+F 键来查找你想要的 不想别人使用你电脑的某些功能,或是在网吧想使用某些功能,或是让自己的电脑速度更快 怎么办 如果你有点注册表的知识就OK拉 没有多深奥 ...

  8. VC++实现像360安全桌面一样修改桌面背景

    具体实现如下,像360安全桌面一样修改桌面背景 模仿360的时候要学习360的狼性文化 #include "stdafx.h" #include<stdio.h> #i ...

  9. 常见的注册表修改大全

    常见的注册表修改大全 <开始菜单及相关设置> [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\E ...

  10. 让注册表修改快速生效

    让注册表修改快速生效 当我们修改了注册表,许多情况下只按下F5键刷新注册表还不足以使修改生效,而需要重新启动计算机.其实我们不必每次都重启机器,只需运行Windows的外壳程序Explorer即可(在 ...

最新文章

  1. C++实现学生成绩管理系统
  2. 【synchronized底层原理之4】锁的升级过程及比较
  3. java 虚拟机 参数_Java虚拟机的参数
  4. HarmonyOS之组件通用的XML属性总览
  5. LeetCode 494. 目标和(DFS+DP)
  6. pointnet源码阅读:训练
  7. 计算机远程桌面连接软件,windows7远程桌面连接软件 提取自最新windows7,可运行于XP...
  8. 新版百元纸币下月发行!这些防伪你要知道
  9. XMU 1612 刘备闯三国之桃园结义 【二分】
  10. 分析称微软中国市场营收低或是梁念坚离职主因
  11. <C++>多继承以及典型的菱形继承案例
  12. showdown ( markdown解析)
  13. 我发现微信、知乎、B站,居然都暗藏彩蛋!
  14. AutoLISP将图形中文字写入外部文件
  15. tensor的storage(),stride(),storage_offset()
  16. 响应式分布式区别_边缘计算的七种定义,边缘计算与云计算、雾计算的区别
  17. 团队沟通中的误区与技巧(zt)
  18. 案例学习|Python实现某医院药品销售分析
  19. 网易前端微专业课程讨论区问答精选
  20. 用pytest.fixture处理接口自动化跨文件token传参

热门文章

  1. 2018.8.29牛客OI测试赛A-斐波那契题解(找规律)
  2. 次氯酸:利用先天反应
  3. oracle tsm rman,TSM下oracle备份
  4. 算法:874. 模拟行走机器人
  5. 手动安装.app到模拟器simulator, iOS XCode 11
  6. 朴素贝叶斯算法优缺点
  7. Java编写网络爬虫
  8. 语言模型总结(待完善)
  9. 【ML小结3】线性回归与逻辑回归、softmax回归
  10. HDU - 2602(动态规划,01背包问题)