¡¡¡¡ÔÚ¿Í»§ÔËÐÐÄúµÄÓ¦ÓóÌÐòµÄʱºò×Ô¶¯¸ü»»Ç½Ö½£¬ÏÔÈ»Êǹã¸æÐû´«µÄÒ»¸öºÃ»ú»á¡£µ«ÎÞÂÛÊÇ MSDN»¹ÊÇÍøÂçÉϵÄÃâ·Ñ×ÊÔ´´úÂ룬¸ü»»Ç½Ö½¼¸ºõ¶¼ÊÇͬһ¸öAPIº¯ÊýSystemParametersInfoºÍͬ Ò»¶Î´úÂ룬¹úÍâÕ¾µãÌṩµÄÃâ·Ñ´úÂëÒ²ÊÇÈç´Ë¡£´ÓVB4.0¿ªÊ¼¾ÍÕâÑù¡£Õâ¶Î´úÂëÊÇ£º 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 Const SPI_SETDESKWALLPAPER = 20 Const SPIF_SENDWININICHANGE = &H2 Const SPIF_UPDATEINIFILE = &H1 Private Sub Form_Load() ¡¡¡¡ChangeWP = SystemParametersInfo(SPI_SETDESKWALLPAPER, ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ 0, "Path+BmpFile", 0) End Sub ¡¡¡¡Ê¹ÓÃÕâ¸öÀý³ÌȷʵÄܹ»Çл»Ç½Ö½£¬µ«´æÔÚÒÔÏÂÎÊÌ⣺ ¡¡¡¡1¡¢ÓÃÊó±êÓÒ¼üµã»÷×ÀÃ棬»á¿´µ½¡¾±³¾°¡¿¡ú¡¾Ç½Ö½¡¿ÀïÃæµÄÎļþÃûÊǿյġ£ ¡¡¡¡2¡¢ÖØÐÂÆô¶¯ºó×ÀÃæǽֽÏûʧ¡£ ¡¡¡¡3¡¢Ã»¸æËßÄúÔõôÇл»"¾ÓÖÐ"»ò"ƽÆÌ"¡£ ¡¡¡¡Ôõô½â¾öÕâЩÎÊÌâÄØ£¿ ¡¡¡¡1¡¢WindowsµÄǽֽ±ØÐëÒÔBMP¸ñʽµÄÎļþ´æ·ÅÔÚWindowsĿ¼ÏÂÃ棬Èç¹ûÄúµÄͼƬ²»ÔÚ¸ÃĿ¼ »ò²»ÊÇBMPÎļþ£¬ÄÇô¾Í»á³öÏÖµÚÒ»¸öÎÊÌâ¡£Òò´Ë±ØÐë°ÑÄúµÄͼƬת»»³ÉBMPÎļþ²¢¸´ÖƵ½Windows Ŀ¼ÏÂÃæ¡£ ¡¡¡¡2¡¢ÒªÊ¹ÖØÐÂÆô¶¯ºóÐèÒªÔÚ×¢²á±íÀïÃæÐÞ¸ÄÏàÓ¦µÄ¼üÖµ£¬¾ßÌåλÖÃÊÇ HKEY_CURRENT_USER\Control Panel\desktopÖеÄWallpaper¼ü£¬ÈÃËüµÄ¼üÖµµÈÓÚÄúµÄȫ·¾¶ÎÄ ¼þÃû¡£ ¡¡¡¡3¡¢ÔÚ¸ü»»Ç½Ö½ÒÔÇ°Ê×ÏÈÉèÖÃÊÇ·ñ"¾ÓÖÐ"£¬ÐèÒªÐÞ¸Ä×¢²á±íÖÐHKEY_CURRENT_USER\Control Panel\desktopÖеÄTileWallpaper¼ü£¬¼üÖµ"0"±íʾ"¾ÓÖÐ"£¬"1"±íʾ"ƽÆÌ"¡£ ¡¡¡¡±¾Àý°ÑÒ»¸öJPG¸ñʽµÄͼƬ³É¹¦µØÉèÖÃΪǽֽ£¬È«²¿´úÂëÈçÏ£º Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long 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 Const SPI_SETDESKWALLPAPER = 20 Const SPIF_SENDWININICHANGE = &H2 Const SPIF_UPDATEINIFILE = &H1 Const REG_SZ As Long = 1 Const HKEY_CURRENT_USER = &H80000001 Private Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long Private Declare Function RegOpenKeyEx Lib "advapi32.dll" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal ulOptions As Long, ByVal samDesired As Long, phkResult As Long) As Long Private Declare Function RegSetValueExString Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, ByVal lpValue As String, ByVal cbData As Long) As Long Private Declare Function RegSetValueExLong Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpValue As Long, ByVal cbData As Long) As Long Private Sub SetKeyValue(sKeyName As String, sValueName As String, vValueSetting As Variant, lValueType As Long, lPredefinedKey As Long) ¡¡lRetVal = RegOpenKeyEx(lPredefinedKey, sKeyName, 0, ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ KEY_ALL_ACCESS, hKey) ¡¡lRetVal = SetValueEx(hKey, sValueName, lValueType, vValueSetting) ¡¡RegCloseKey (hKey) End Sub Private Function SetValueEx(ByVal hKey As Long, sValueName As String, lType As Long, vValue As Variant) As Long ¡¡Dim lValue As Long ¡¡Dim sValue As String ¡¡Select Case lType ¡¡¡¡Case REG_SZ ¡¡¡¡¡¡¡¡¡¡sValue = vValue & Chr$(0) ¡¡¡¡¡¡¡¡¡¡SetValueEx = RegSetValueExString(hKey, sValueName, 0&, lType, ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ sValue, Len(sValue)) ¡¡¡¡Case REG_DWORD, REG_BINARY ¡¡¡¡¡¡¡¡¡¡lValue = vValue ¡¡¡¡¡¡¡¡¡¡SetValueEx = RegSetValueExLong(hKey, sValueName, 0&, ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ lType, lValue, 4) ¡¡End Select End Function Private Sub Form_Load() 'È¡µÃwindowsĿ¼ ¡¡Dim Path As String, strSave As String ¡¡strSave = String(50, Chr$(0)) ¡¡Path = Left$(strSave, GetWindowsDirectory(strSave, Len(strSave))) ¡¡'ת»»Í¼Æ¬²¢±£´æµ½WindowsĿ¼ÏÂÃæ ¡¡Image1.Picture = LoadPicture(App.Path & "\MyFlower.Jpg") ¡¡SavePicture Image1, Path & "\MyFlower.bmp" ¡¡Dim aa As String ¡¡'дÈë×¢²á±í ¡¡'É趨¾ÓÖÐ ¡¡SetKeyValue "Control Panel\desktop", "TileWallpaper", ¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "0", REG_SZ, HKEY_CURRENT_USER ¡¡'É趨ƽÆÌ ¡¡' SetKeyValue "Control Panel\desktop", ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ "TileWallpaper", "1", REG_SZ, HKEY_CURRENT_USER ¡¡'¸ü»»Ç½Ö½ ¡¡aa = Path & "\MyFlower.bmp" ¡¡ChangeWP = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, aa, 0) ¡¡'ÔÚ×¢²á±íÖмǼͼƬλÖà ¡¡SetKeyValue "Control Panel\desktop", "Wallpaper", aa, ¡¡¡¡¡¡¡¡¡¡¡¡¡¡ REG_SZ, HKEY_CURRENT_USER End Sub ¡¡¡¡Ê¹Óñ¾ÀýҪעÒ⣺±ØÐëÏÈÉèÖÃÊÇ·ñ"¾ÓÖÐ"£¬È»ºóÔÙ¸ü»»Ç½Ö½¡£±¾ÀýÔÚWindows95+VB6ϵ÷ÊÔͨ ¹ý¡£ |