ccidnet????

出版日期:1999-09-06 总期号:855 本年期号:65

本期导读
要闻综合
电脑工作室
市场
硬件
软件
infotimes
用 vb 设置 windows 桌面背景

崔灿斌

  在windows 95/98/nt 中,桌面背景图片的设置可以通过设置桌面的属性来完成。在 visual basic 环境中,可以通过编程调用一个 api 函数来更实现此项功能。

  首先,在 visual basic 中的模块中声明以下 api 函数和常量:

  public declare function systemparametersinfo lib ″user32″ alias

  ″systemparametersinfoa″ —(byval uaction as long, byval uparam as integer, byval lpvparam as string,—byval fuwinini as long) as long

  public const spif—updateinifile = &h1

  public const spi—setdeskwallpaper = 20

  public const spif—sendwininichange = &h2

  注意:在利用 visual basic 附带的“api 文本查看器”声明函数 systemparametersinfo 时,它将参数 lpvparam 定义成 any 类型,一定要记住将该类型改为 string 类型。另外,visual studio附带的“api 文本查看器”将将参数 lpvparam 定义成传址类型 byref ,在本例记住要将它改为传值类型 byval。

  然后,编写如下的更改 windows 桌面的过程:

  public sub wallpaper(byval strfile as string)

  ′功能:设置 windows 的桌面背景图片

  ′参数:strfile——要设置的背景图片的文件名(包括路径)

  dim ret as long

  ret = systemparametersinfo(spi_setdeskwallpaper, 0&,—strfile, spif—updateinifile or spif—sendwininichange)

  end sub

  以上说明了如何利用 api 函数 systemparametersinfo 来更改windows的桌面背景。实际上,通过对函数 systemparametersinfo 的调用,可以获取和更改许多系统的设置,这些设置一般是通过 windows 的控制面板来设置完成的,如:设置鼠标的双击时间、更改桌面壁纸、打开或关闭系统报警、设置图标水平或垂直距离等等。要实现这些功能,需要向函数 systemparametersinfo 传递不同的参数,由于篇幅有限,在此不再赘述,读者可以查看 msdn 等相关资料来获取等多信息。