国产黄色免费网站,人人干人人干人人干,免费大黄网站在线看,国产情侣一区二区三区,99精品国产福利免费一区二区,国产亚洲成归v人片在线观看,伊人88

2023信創(chuàng)獨角獸企業(yè)100強
全世界各行各業(yè)聯(lián)合起來,internet一定要實現(xiàn)!

用Delphi實現(xiàn)壁紙更換

2004-02-14 eNet&Ciweek

  在Windows95/98中,都是使用注冊表對系統(tǒng)數(shù)據(jù)進行管理,有關(guān)壁紙的設置數(shù)據(jù)保存在Hkey_Current_User\Control Panel\Desktop的Wallpaper和TileWallpaper 等鍵值中,只要成功修改了這兩個鍵值,然后發(fā)消息給Windows即可更換壁紙。在本例的程序中,使用了一個Tform;兩個Tspeedbutton(Speedbutton1用于接受用戶的瀏覽命令,Speedbutton2用于接受用戶的更換壁紙命令);一個Timage(用于顯示圖片)。另外,還用到一組文件控件:Tfilelistbox,Tdrivecombobox,Tdirectorylistbox,用于選擇圖片文件,可以設置FileListBox的mask屬性,篩選顯示在FileListBox 中的文件類型(如只顯示.bmp文件)。下面的兩個程序段是實現(xiàn)瀏覽圖片和更換壁紙的關(guān)鍵代碼。

  Procedure Tform1.SpeedButton1Click(Sender:Tobject);

  Begin

  If (filelistbox1.FileName=

  ′′) Then {判斷Filelistbox1中文件有沒有被選中}

    Messagedlg(′請先選擇一幅位圖′,mtInformation,[mbOK],0)

  Else

  Image1.Picture.LoadFormFile(Filelistbox1.FileName);{加載圖片文件并顯示}

  End;

  ProcedureTform1.SpeedButton2Click(Sender:TObject);

  Var

  Reg:Tregistry;{Tregistry 對象在Registry 單元中聲明,需用Uses令引用Registry單元}

  }

  Begin

  If (Filelistbox1.FileName=′′) Then

  Messagedlg(′請先選擇一幅位圖′,mtinformation,[mbOK],0)

  Else

  Begin

  Reg:=Tregistry.Create;{創(chuàng)建Tregistry對象的實例}

  Reg.Rootkey:= Hkey_Current_User;{設置根鍵名稱}

  Reg.OpenKey′Control Panel\Desktop′,False); {打開Control Panel\Desktop 路徑對應的主鍵}

  Reg.WriteString (′TileWallPaper′,

  ′0′);

  Reg.WriteString

  ′Wallpaper′,fileli

  stbox1.FileName);{向TileWallpaper 和Wallpaper串覆蓋寫入新值}

  Systemparametersinfo(SPI_SETDESKWallpaper,0,Nil,SPIF_SendChange);{向Windows發(fā)送消息,通知Windows更換壁紙}

  Reg.CloseKey;{將更改內(nèi)容寫入注冊表并關(guān)閉}

  Reg.Free;{釋放對象}

  End;

  End;

    代碼中用到的一些函數(shù)可以察看Delphi的聯(lián)機幫助。需要注意的是:調(diào)用打開子鍵的函數(shù)OpenKey時,第二個參數(shù)一定要設為False。

相關(guān)頻道: eNews

您對本文或本站有任何意見,請在下方提交,謝謝!

投稿信箱:tougao@enet16.com