应用SystemParametersInfo函数可以获取和设置数量众多的windows系统参数。这个小程序就是运用了SystemParametersInfo函数来设置桌面的墙纸背景,而且程序可以让我们选择多幅墙纸图片,程序会以一定的时间间隔自动改变墙纸。

 #include<stdio.h>
#include<windows.h>
int main()
{
//i 代表图片的数量
/*
BOOL WINAPI SystemParametersInfo(
_In_ UINT uiAction,
_In_ UINT uiParam,
_Inout_ PVOID pvParam,
_In_ UINT fWinIni
);
其中各参数的意义如下表: 参数: 意义 uAction Long,指定要设置的参数。参考uAction常数表 uParam Long,参考uAction常数表 lpvParam Any,按引用调用的Integer、Long和数据结构。 fuWinIni 这个参数规定了在设置系统参数的时候,是否应更新用户设置参数 下面是部分uAction参数,和使用它们的方法: 参数    意义和使用方法   6    设置视窗的大小,SystemParametersInfo(6, 放大缩小值, P, 0),lpvParam为long型 17    开关屏保程序,SystemParametersInfo(17, False, P, 1),uParam为布尔型 13,24    改变桌面图标水平和垂直间距,uParam为间距值(像素),lpvParam为long型 15    设置屏保等待时间,SystemParametersInfo(15, 秒数, P, 1),lpvParam为long型 20    设置桌面背景墙纸,SystemParametersInfo(20, True, 图片路径, 1) 93    开关鼠标轨迹,SystemParametersInfo(93, 数值, P, 1),uParam为False则关闭 97    开关Ctrl+Alt+Del窗口,SystemParametersInfo(97, False, A, 0),uParam为布尔型
*/
for (int i = ; i < ; i++)
{
char str[] = {};
sprintf(str,"D:\\Picture\\%d.jpg",i%);
SystemParametersInfoA(,,str,);//20代表设置桌面系统背景图片 3.立即生效
//sprintf(str,"D:\\Picture\\%d.jpg",i%5);
/*
ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、
打印一个文件等等),并对外部程序有一定的控制
ShellExecute( hWnd: HWND; {指定父窗口句柄} Operation: PChar; {指定动作, 譬如: open、runas、print、edit、explore、find } FileName: PChar; {指定要打开的文件或程序} Parameters: PChar; {给要打开的程序指定参数; 如果打开的是文件这里应该是 nil} Directory: PChar; {缺省目录} ShowCmd: Integer {打开选项} ): HINST; ShowCmd 参数可选值:SW_HIDE = 0; {隐藏} SW_SHOWNORMAL = 1; {用最近的大小和位置显示, 激活} SW_NORMAL = 1; {同 SW_SHOWNORMAL} SW_SHOWMINIMIZED = 2; {最小化, 激活} SW_SHOWMAXIMIZED = 3; {最大化, 激活} SW_MAXIMIZE = 3; {同 SW_SHOWMAXIMIZED} SW_SHOWNOACTIVATE = 4; {用最近的大小和位置显示, 不激活} SW_SHOW = 5; {同 SW_SHOWNORMAL} SW_MINIMIZE = 6; {最小化, 不激活} SW_SHOWMINNOACTIVE = 7; {同 SW_MINIMIZE} SW_SHOWNA = 8; {同 SW_SHOWNOACTIVATE} SW_RESTORE = 9; {同 SW_SHOWNORMAL} SW_SHOWDEFAULT = 10; {同 SW_SHOWNORMAL} SW_MAX = 10; {同 SW_SHOWNORMAL}
/第一个参数是代表系统弹出
//第二个参数是代表执行
//第三个参数执行命令行
//第四个,第五个默认0,
//第六个参数,0代表窗口隐藏,1代表正常,3最大化,6最小化
*/
ShellExecuteA(NULL,"open","D:\\Music\\mm.mp3",,,SW_HIDE);
Sleep();//休眠5秒
}
return ;
}

windows 桌面背景设置实例的更多相关文章

  1. Webstorm设置背景图为Windows桌面背景

    桌面背景图会缓存在这个目录中,文件名不确定在改变桌面背景后会不会变. C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Themes\CachedFiles ...

  2. windows phone 8 设置锁屏背景

    本来想研究一下 利用闪光灯实现手电筒的代码,发现不是简答设置FlashMode属性可以解决问题的,ms也没有提供api,无意瞄了一眼侧边栏的文章列表,发现了设置屏幕锁屏背景的实现,手一抖点进去了.还算 ...

  3. 利用API设置桌面背景

    实现效果: 知识运用: API函数SystemParametersInfo 实现代码: [DllImport("user32.dll", EntryPoint = "Sy ...

  4. 将Windows 8.1 系统窗口背景设置成淡绿色?

    1.右键点击开始→运行. 2.在运行中输入: regedit 按回车键之后,打开注册表编辑器. 3.依次定位到:HKEY_CURRENT_USER\Control Panel\Colors. 4.然后 ...

  5. Visual C++ Windows 桌面应用程序样例(摘抄)

    //================================== //Windows应用程序框架结构(例子) //参考:<Visual C++宝典>陈国建等编著 //======= ...

  6. 0x01 译文:Windows桌面应用Win32开发简介

    本节课将简单介绍下使用C++开发Windows桌面应用的一些基础知识 目录: 准备你的开发环境 Windows 代码规范 操作字符串 什么是一个Window? WinMain:程序的入口点 1. 准备 ...

  7. [C#源码]自动更改桌面背景

    操作代码:ChangeDesktop.cs using System;using System.Collections.Generic;using System.ComponentModel;usin ...

  8. C++使用代码创建一个Windows桌面应用程序

    WinMain函数 Windows应用程序的唯一程序入口. 函数原型 int WINAPI WinMain { HINSTANCE hInstancem HINSTANCE hPreInstance, ...

  9. windows应用程序单实例

    前言 这才第几天博客就跟不上了,看来一天一篇博客的目标还是有点大,写博客还是挺费时间的,写了不满意删,删完再写...直到自己没了耐心.今天先写个前言,实质性的内容明天再补吧.今天一天的收获还是挺多的, ...

随机推荐

  1. hdu 1695 欧拉函数+容斥原理

    GCD Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  2. codevs 1079 回家x

    1079 回家  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver   题目描述 Description 现在是晚餐时间,而母牛们在外面分散的牧场中. 农民约翰 ...

  3. k8s安装报错 Error: unknown flag: --experimental-upload-certs

    今天安装k8sV1.16的版本时候,执行突然发现命令不对,之前安装V1.15的时候是可以的,可能是版本升级的原因. 解决: unknown flag: --experimental-upload-ce ...

  4. sql语句的使用经验 postgresql

    查找指定字段为空或不为空 查询数据库中指定字段为空的行数据: select * from tablename where columnName = '';  字符串类型可以用 '' ,也可以用Null ...

  5. spring cloud:config-eureka-refresh-bus-rabbitmq

    config-server-eureka-bus-rabbitmq 1. File-->new spring starter project 2.add dependency <paren ...

  6. jQuery easyui datagrid 的数据加载

        其实easyuidatagrid加载数据只有两种方式:一种是ajax加载目标url返回的json数据:另一种是加载js对象,也就是使用loadDate方法,这种方法用于加载本地js数据(非ur ...

  7. 屏蔽ffmpeg命令的所有提示

    有时候需要隐蔽的执行ffmpeg不希望输出任何日志,提示.这个时候只需要多添加这个参数即可 -loglevel quiet

  8. Mybaits解决实体类字段与数据库字段不一致问题

    public class Employee { private Integer id; private String lastName; private String email; private S ...

  9. 关于加快INSERT语句执行速度和HINT /*+ append */及/*+ append nologging */的使用

    (非归档模式下)创建表T01: SQL> create table t01 as select * from dba_objects where 1=2; Table created. (非归档 ...

  10. ES6字符串的拓展

    字符串的遍历接口 for...of循环遍历. for (let codePoint of 'foo') { console.log(codePoint) } // "f" // & ...