- ベストアンサー
壁紙をAPIで変更する方法とは?
- 壁紙をAPIで変更する方法について、具体的な手順を説明します。
- APIでは壁紙の操作にbmp形式のファイルしか使用できないため、jpg形式のファイルを壁紙にする方法を解説します。
- APIで壁紙に設定できない場合でも、ファイルを右クリックして「デスクトップの背景に設定」を指定する方法があります。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
既出のようにGDI+(CImageとか)が使えるのであれば、それが一番簡単です。 配布されているライブラリとしてはIJGのものがもっともオフィシャルだと思いますが、使いにくいと評判のようです。 http://www.ijg.org/ こんなのもありました。 http://www.vector.co.jp/soft/win95/prog/se222453.html #2でAPIでは無いと書きましたが、OleLoadPictreを使えばできるかもしれません。 試したことも無いですし、情報が少ないのでわかりませんが。 JPEGファイルの読み込みはこのカテゴリでも何度か取り上げられているので、検索すると何か参考になるかもしれません。
その他の回答 (3)
- takscape
- ベストアンサー率57% (15/26)
Windows標準の機能ということで、GDI+をお使いになってみてはいかがでしょう。 GDI+はWindowsXPから搭載された機能ですが、DLLは再配布可能で、WindowsXP以外でも動作します。 VBのサンプルですが、下記のページが参考になるかと存じます。
- hofuhofu
- ベストアンサー率70% (336/476)
jpeg画像を壁紙にするにはアクティブデスクトップを有効にする必要があるはずです。 http://www5a.biglobe.ne.jp/~dinah/tips/wintipsp.htm#a8 http://techtips.belution.com/ja/vc/0033/ 自動的にjpeg→bmp変換をするようにしたほうが色々と便利だと思いますが、APIレベルではこの機能は無いですし、jpegデコーダーを自作するのは大変ですので、コンパイラ付属のものや公開されているライブラリを使うことになります。
お礼
hofuhofuさん、ありがとうございました。 大変参考になりました。 jpegデコーダーを自作するのは大変ですので、コンパイラ付属のものや公開されているライブラリを使うことになります。 とありますが、なにか知っているものでもありますでしょうか?
- ShaneOMac
- ベストアンサー率39% (356/898)
>これらのファイルを右クリックして「デスクトップの背景に設定」を指定すると壁紙になる これはIEの処理動作のことじゃないかと思うんですけど、それをした際に壁紙を指示するレジストリ・キーを検索して中を見てください。 HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper ここですが C:\Documents and Settings\[ユーザー名]\Application Data\Microsoft\Internet Explorer\Internet Explorer 壁紙.bmp こういうのが入ってきますよ。 これで何が起きているのか推定できると思いますが。
お礼
ShaneOMacさん。回答ありがとうございます。ShaneOMacさんに言われたとうり調べたところ、*.jpgファイルを右クリックして「デスクトップの背景に設定」を指定するとC:\\Documents and Settings\\FrameWorker\\Local Settings\\Application Data\\Microsoft\\Wallpaper1.bmpファイルが作成されることがわかりました。しかし、試しにこれを手作業で*jpgファイルをWallpaper1.bmpに変換してWallpaper1.bmpを右クリックして「デスクトップの背景に設定」を指定すると壁紙にはなりません。ここらへんの変換処理がおそらく必要になると思うのですが、それがわからないのです。もし、ご存知でしたらよろしくお願いします。
お礼
hofuhofuさん。貴重なアドバイスありがとうございました。この変換はやはり時間もお金も少しかかりそうなので、ご紹介させていただいたルーチェさんのDLLを使わせていただいて実現できました。