久久―日本道色综合久久,亚洲欧美精品在线,狼狼色丁香久久婷婷综合五月,香蕉人人超,日本网站黄,国产在线观看不卡免费高清,无遮挡的毛片免费

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

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

2004-02-14 eNet&Ciweek

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

  Procedure Tform1.SpeedButton1Click(Sender:Tobject);

  Begin

  If (filelistbox1.FileName=

  ′′) Then {判斷Filelistbox1中文件有沒(méi)有被選中}

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

  Else

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

  End;

  ProcedureTform1.SpeedButton2Click(Sender:TObject);

  Var

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

  }

  Begin

  If (Filelistbox1.FileName=′′) Then

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

  Else

  Begin

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

  Reg.Rootkey:= Hkey_Current_User;{設(shè)置根鍵名稱(chēng)}

  Reg.OpenKey′Control Panel\Desktop′,False); {打開(kāi)Control Panel\Desktop 路徑對(duì)應(yīng)的主鍵}

  Reg.WriteString (′TileWallPaper′,

  ′0′);

  Reg.WriteString

  ′Wallpaper′,fileli

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

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

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

  Reg.Free;{釋放對(duì)象}

  End;

  End;

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

相關(guān)頻道: eNews

您對(duì)本文或本站有任何意見(jiàn),請(qǐng)?jiān)谙路教峤?,謝謝!

投稿信箱:tougao@enet16.com