程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> 如何改變桌面的圖片?

如何改變桌面的圖片?

編輯:VB綜合教程

  Const SPI_SETDESKWALLPAPER = 20

  Const SPIF_UPDATEINIFILE = &H1

  Private Declare Function SystemParametersInfo Lib "user32" Alias _

  "SystemParametersInfoA" (ByVal uAction As Long, ByVal uParam As Long, _

  ByVal lpvParam As Any, ByVal fuWinIni As Long) As Long

  Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, BMP圖檔名稱, _

  SPIF_UPDATEINIFILE)

  例如: 將桌面圖片設定成 c:\windows\setup.bmp

  Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "c:\windows\setup.bmp", _

  SPIF_UPDATEINIFILE)

  將桌面圖片清掉

  Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "", SPIF_UPDATEINIFILE)

  但以上程式設定圖片之後, 必須等到下次 Windows 重新啟動時才生效, 如果希望設定之後立刻生效, 則程式須修改如下:

  Const SPIF_SENDWININICHANGE = &H2

  Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "c:\windows\setup.bmp", _

  SPIF_UPDATEINIFILE + SPIF_SENDWININICHANGE )

  此外希望只有本次使用 Windows 時改變桌面圖片(下次開機時還原原狀), 則程式如下:

  Call SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, "c:\windows\setup.bmp", _

  SPIF_SENDWININICHANGE ) ' 去掉 SPIF_UPDATEINIFILE

上述方法並不能設定圖片的顯示方式(包含「置於中央」、「並排」、及「展開」)

  怎樣讓在改變桌面圖片時, 也設定顯示方式呢?

  方法就是在呼叫 SystemParametersInfo 之前, 利用改變登錄資料庫的以下設定值:

  HKEY_CURRENT_USER\Control Panel\Desktop\TileWallpaper

  HKEY_CURRENT_USER\Control Panel\Desktop\WallpaperStyle

  這兩個設定值的意義如下:

  展開 TileWallpaper的設定值WallpaperStyle的設定值顯示方式"0""0"置於中央"0""2"並排顯示"1"-展開

注:所謂「展開」是當圖片與螢幕不等大時, 將圖片調整成語螢幕等大小, 這是 Windows 98 新增的功能, 但如果您的機器安裝有 IE 4.x, 則 Windows 95 也具備相同的功能。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved