wrote :: 2006.01.17
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
Public Const SPI_SETDESKWALLPAPER = 20
Public Const SPIF_SENDWININICHANGE = &H2
Public Const SPIF_UPDATEINIFILE = &H1
Sub Sample()
Dim WSH, WPaper As String, re
WPaper = "C:\Sample.bmp"
''レジストリに書き込み
Set WSH = CreateObject("WScript.Shell")
WSH.RegWrite "HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper", WPaper, "REG_SZ"
Set WSH = Nothing
''更新
re = SystemParametersInfo(SPI_SETDESKWALLPAPER, 0, ByVal WPaper, _
SPIF_UPDATEINIFILE Or SPIF_SENDWININICHANGE)
End Sub
KBC.DLLは明熊さん開発の「明熊JPEG保存DLL V.2.00」DLLを呼び出すことにより、BMP<->JPEG形式の相互変換するActiveX.DLLです。 一時ファイルに展開し、それを読み込むことでメモリ上に展開するようなメソッドも ついています。とのこと。で、明熊JPEG保存DLLは、
当然のことながら、明熊さんのDLLが必要になります。 明熊JPEG保存DLLのVer.2.00に対応しています。Ver.1.00には対応していませんのでご注意ください。
ローカルに保存されたBMPファイルをJPGファイルに変換する機能、デバイスコンテキストのハンドルから直接JPEGファイルを生成する機能、そして、VBA用にクリップボード経由でJPEGファイルを生成する機能を追加しました。だそうです。何とも素晴らしいソフトを公開していただき、心より感謝します。
Dim re, oKbc
Set oKbc = CreateObject("KBC.Convert")
re = oKbc.JPGtoBMP(Filename, App.Path & "\WPS_Saved.bmp")