MCSE技术论坛

首页 » 开发者俱乐部 » C# » 随机变换桌面背景图片(写给一个她的)
passedbylove - 2008-5-12 21:30:00
/*****************************************************************
Bulit on  :Windows XP上
Compiler:Sharp Develop 2.1
Required: .NET Framework 2.0 or upon

简要说明:用户引发按钮事件时程序将从
Application.StartUpPath读取Wallpaper下面的所有文件
并将文件路径添加到string[] pictureFiles中
用pictureFiles数组的长度作为上限,产生
0到pictureFiles.Length的随机整数,作为
背景图片路径,然后调用Windows API刷新桌面图片
API 由我的老师提供

(当然如果你按下音乐图标按钮,它会慢慢展开,
这个效果还可以吧.:default5:
那是调用Windows组件实现的播放器,娱乐而已)
关键代码如下
程序运行后效果图片在附件
墙纸文件请用户自行添加到Wallpaper
Blog http://hi.baidu.com/passedbylove
*********************************************************************/

  //存储图片路径
  string Picturepath=null;
 
  //读取当前目录名
  string currentDir = Directory.GetCurrentDirectory();
 
  //以此为根目录,读取Wallpaper下面的文件,存储到字符串数组pictureFiles
  string[] pictureFiles=Directory.GetFiles(currentDir+"
[url=file://\\Wallpaper\\]\\Wallpaper\\".ToString[/url]());
 
  //以Wallpaper下面的文件个数为上限,从0开始产生随机数
  //将产生的随机数作为字符串数组pictureFiles下标,
  //通过此下标来指定要显示的文件名
  Random r=new Random ();
  Picturepath=pictureFiles[r.Next(0,pictureFiles.Length)];
 
  ActiveDesktop RefreshDesktop=new ActiveDesktop();
 
  IActiveDesktop iad = RefreshDesktop as IActiveDesktop ;
  iad.SetWallpaper(Picturepath,0);//设置墙纸
  iad.ApplyChanges(AD_APPLY.ALL );//启用策略,刷新桌面






附件: 随机变化桌面背景图片.rar
1
查看完整版本: 随机变换桌面背景图片(写给一个她的)