使用C#制作的更换桌面背景程序

C#:外观模式(附完整源码) 阅读详情

使用C#制作的更换桌面背景程序

今天是周末,可是没什么地方去,所以有上网来了,突然发现了一篇用

VB调用API来更换桌面的程序,我想既然VB可以C#也一定能行,所以就

试着做了一下,好吧,来看看我的代码吧.一步一步来,你也能行.

那还是先让我们来了解一个API吧,SystemParametersInfo,这个API的功能

很简单就是通过一些参数的设置来完成对系统的一些外观设置.

函数原型如下:
BOOL SystemParametersInfo(
  UINT uiAction,  
  UINT uiParam,   
  PVOID pvParam,  
  UINT fWinIni    
);

该函数返回一个Bool值.非0成功,否则当然是失败了,那样的话根据MSDN的说法

还将会设置GetLastError(关于这一点可以参考MSDN)

这里还必须提到的一点是,关于uAction常数表,这张表里面包括了很多关于这些参数

的设置工作.因为它将影响到.前面两个参数.第三个参数在我们这里的用法是得到

图片的路径.第四个参数看名字也猜的到.随同这个函数设置的用户配置参数保存在win.ini

或注册表里,或同时保存在这两个地方.一般是0X1或者0X2就可以了.

下面我在给出有关该API变成C#的代码如下:

[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static  extern int SystemParametersInfo (int uAction , int uParam , string lpvParam , int fuWinIni) ;

 

//图片


看见上面的图了吗?我来主要说说那个两个button,

首先叫到的是选择按钮代码如下:

private void button1_Click(object sender, System.EventArgs e)
  {
   openFileDialog1.InitialDirectory = @"C:/";
   if (openFileDialog1.ShowDialog() == DialogResult.OK)
   {
    textBox1.Text = openFileDialog1.FileName;
    string[] strA=textBox1.Text.Split('.');
    Bitmap bm=new Bitmap(textBox1.Text);
    if(strA[1]!="bmp")
    {
     filepath=strA[0]+".bmp";
     bm.Save(filepath);
    }
    else
     filepath=textBox1.Text;
    this.pictureBox1.Image=bm;
   }
正如你看到的,那样,由于只能将BMP图象设置成桌面所以必须要转化一下,上面是我的方法

也许你还有更好的,那就说说吧.

然后是更换按钮,代码如下:

private void button2_Click(object sender, System.EventArgs e)
  {
   int nResult ;
   if (File.Exists(filepath))
   {
    nResult = SystemParametersInfo(20, 1, filepath,  0x1 | 0x2 );
    if(nResult==0)
     MessageBox.Show("没有更新成功!");
    else
    MessageBox.Show("正在更换背景图片...");
   }
   else
    MessageBox.Show("文件不存

Windows系统桌面壁纸切换的C#方法 - 兼容Win10及旧版 例如,你可以使用.NET框架下的Windows.Forms库来创建一个简单的界面,并通过添加按钮和事件处理程序来实现壁纸切换功能。打开你喜欢的集成开发环境(IDE),例如Visual Studio,并创建一个新的C#控制台应用程序项目。使用你的IDE编译并运行程序,它将会将指定的桌面壁纸应用到你的Windows桌面上。使用这个现成的桌面小程序,你可以启动一个具有简单界面的应用程序,并通过在文本框中输入壁纸路径,然后点击按钮来切换桌面壁纸。在事件处理程序中,我们使用用户在文本框中输入的路径来设置桌面壁纸。 阅读详情

相关推荐

C#实现随机更换壁纸程序(附完整源码)

C#实现随机更换壁纸程序(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 256

Windows 7桌面背景设置教程及示例

在本篇文章中,我们将为您提供一个简单的示例,演示如何使用编程方式设置Windows 7桌面背景。通过上述步骤,您可以使用C#编程语言来设置Windows 7的桌面背景。请确保您提供的图像文件路径是有效的,并且您的应用程序具有足够的权限来更改桌面背景。首先,我们需要创建一个新的C#控制台应用程序。的方法,该方法接受一个文件路径作为参数,并将该文件设置为桌面背景。您只需要提供一个图像文件的路径作为参数即可。命名空间,以便在代码中使用相关的类和方法。步骤3:定义设置桌面背景的方法。在我们的示例中,我们将使用。

TechChamp的博客 225

使用C#编程更换Windows桌面背景图片

P/Invoke技术可以看作是.NET世界和Windows本地代码之间的桥梁。它允许C#等托管语言调用那些运行在非托管环境中的Win32 API函数。当托管代码需要使用这些API时,P/Invoke会负责将调用转换为适当的非托管调用约定,即所谓的“平台调用”,然后传递给Windows操作系统,执行完毕后再将结果返回给托管代码。从底层机制上来说,P/Invoke通过定义一组方法签名来指明如何调用外部函数。这些签名包含了函数名、参数类型、返回值类型以及调用约定等信息。

weixin_33670640的博客 1211

C#实现桌面背景更改的源代码示例

更改桌面背景是一个简单但能显著影响用户体验的功能。在Windows操作系统中,桌面背景也被称为壁纸或墙纸。它不仅能够展示用户的个性化偏好,还能在一定程度上提升工作效率。通过C#,我们能够编写一个程序来动态地更改桌面背景,实现根据不同的时间和情境自动更换壁纸的功能。这种自动化工具可以集成到系统托盘程序中,甚至作为一款具有图形用户界面的应用提供给最终用户。本章我们将概述使用C#编程语言结合Windows API更改桌面背景的基本概念,为后续章节更深入的技术细节打下基础。

weixin_35755640的博客 921

C#窗口切换源代码

C#实现窗口切换特效源码,作者:clayui。这次给大家带来了13种特效C#窗体切换代码,如果大家对 这个比较喜欢的话,请推荐一下,让更多的人能分享到,我也会继续更新添加更多特效。 先说明一下,因为本人对C#也不是特别了解,所以可能会出现一些BUG,请大家能够反馈给我。由于演示程序里只是添加了普通的C#控件,目前不是很清楚其他的C#控件,或者一些换肤的东西放上去会不会有问题,不过从原理上来说,这个跟C#的窗口是基本无关的,应该不会有问题。 clayui的源码在项目的根目录中,clayui_0.1.0.3.rar,不过是用c++编写有兴趣的朋友可以研究一下。

C#实现窗口切换特效源码

C#实现窗口切换特效源码 这次clayui给大家带来了比较实用的东西,C#版目前只有13种特效,如果大家对 这个比较喜欢的话,请推荐一下,让更多的人能分享到这个,我也会继续更新添 加更多特效。 先说明一下,因为本人对C#也不是特别了解,所以可能会出现一些BUG,请大家 能够反馈给我。由于演示程序里只是添加了普通的C#控件,目前不是很清楚其他 的C#控件,或者一些换肤的东西放上去会不会有问题,不过从原理上来说,这个 跟C#的窗口是基本无关的,应该不会有问题。 clayui的源码在项目的根目录中,clayui_0.1.0.3.rar,不过是用c++编写 有兴趣的朋友可以研究一下。

C# 替换桌面背景图片

做这个纯属很郁闷,我的笔记本安装win7家用版之后桌面不能替换背景图片。说是微软的做的设置,还不能 升级到旗舰版。我一气之下就做了这个。

windows桌面动态壁纸小程序

一个使用C# wpf编写的桌面动画小程序,使用cef加载html在桌面上显示,展示了在windows下桌面动画的实现方式,配合Low Level Hook可以实现桌面动画的点击反馈效果

C#更改桌面背景(源码)

C#更改桌面背景 C#更改桌面背景 C#更改桌面背景

AVL Cruise 2020.1 安装教程

AVL Cruise 2020.1 安装教程

chengkai730的博客 9487

MATLAB实战:手把手教你绘制发动机万有特性曲线(附完整代码)

本文提供了一份详细的MATLAB实战指南,手把手教你从发动机台架试验数据出发,通过数据预处理、核心插值算法和可视化技巧,绘制出专业、精确的发动机万有特性曲线图。文章深入解析了万有特性图的核心构成与工程意义,并附带了完整的模块化代码,帮助工程师和学生快速掌握这一关键技能。

weixin_29094539的博客 411

别急着让AI画板!聊聊Cadence Allegro X AI和OrCAD X在实际PCB项目中的真实体验

本文分享了Cadence Allegro X AI与OrCAD X在PCB设计中的实际应用体验,探讨了AI辅助Layout的效率提升与潜在陷阱。通过高速ADC采集板案例,详细对比了AI与传统方法在电源平面分割、低速信号布线等任务中的表现,并总结了人机协作的最佳实践,为工程师提供实用参考。

weixin_30836759的博客 2216

history 历史命令记录功能如何防坏人(高级)

在 Linux 下面可以使用 history 命令查看用户的所有历史操作,同时 shell 命令操作记录默认保存在用户目录的 .bash_history 文件中。通过这个文件可以查询 shell 命令的执行历史,有助于运维人员进行系统审计和问题排查,同时在服务器遭受黑客攻击后,也可以查询黑客登录服务器的历史命令操作。但是黑客在入侵后,为了抹除痕迹,会删除 .bash_history 文件,这个就需...

墨痕诉清风的博客 1657

渗透测试面试题

渗透测试面试题 一.思路流程 1.信息收集 服务器的相关信息(真实ip,系统类型,版本,开放端口,WAF等) 网站指纹识别(包括,cms,cdn,证书等),dns记录 whois信息,姓名,备案,邮箱,电话反查(邮箱丢社工库,社工准备等) 子域名收集,旁站,C段等 google hacking针对化搜索,pdf文件,中间件版本,弱口令扫描等 扫描网站目录结构,爆后台,网站banner,测试文件,...

千寻的博客 12万+

从0到1构建数据分析AI Agent:数据采集、洞察生成与报告自动化

在企业数字化转型的今天,数据分析师80%的时间被消耗在重复取数、数据清洗、报表排版等低价值劳动上,真正用于深度业务洞察和决策支持的时间不足20%。本文将从核心概念、技术原理、代码实现、落地实践全维度,教你从0到1搭建一套完整的数据分析AI Agent系统,实现「用户用自然语言提需求→Agent自动采集多源数据→AI自动挖掘业务洞察→自动生成符合业务要求的多格式报告」的全链路自动化,平均可将需求响应速度从天级压缩到分钟级,释放70%以上的分析师人力成本。

AI Python 编程之道的博客 472

【学习系列】SAP RAP 17:RAP应用部署集成至Fiori Launchpad 【S4HC Public Edition】

本文详细介绍了在SAP S/4HANA Cloud环境中部署RAP应用集成到Fiori Launchpad的两种方法:使用BAS(SAP Business Application Studio)和VSCode。主要步骤包括:1)在BTP中配置Destination连接ES环境;2)设置信任关系;3)创建BAS开发空间;4)通过Fiori应用生成器部署RAP应用;5)创建IAM App、Business Catalog和Business Role;6)配置Launchpad Space和Pages。文章还提供

DeveloperMrMeng的博客 966

零基础速成simulink代码生成——stateflow基础3

此专栏面向嵌入式工程没有matlab开发经验的人,可以快速学习和实践这门技术。MDB技术,越来越成熟和普遍,从手写代码转到基于模型开发已经是大势,不仅减少开发周期,还增加代码的复用性。汽车领域、医疗和算法建模广泛使用。

不断debug,优化中…… 1711

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: 在C#中用DirectShow做的媒体播放机
下一篇: 不用VC中的Document能否存储数据
yarshray
博客等级 码龄25年 72粉丝 62原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值