FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

C#.net から壁紙を変更する方法

C#.NETから壁紙を変更する方法について、かなり苦労して調べたので、リンクだけでもまとめておく。




●Windows XP 環境における C言語 と 壁紙

まずは、C++/MFCによる、壁紙の変更方法。
IActiveDesktop というインターフェイスがあったとは!!
IActiveDesktop を使うことによって、BMP以外の画像でも壁紙に設定できる。





●[MFC-014] 壁紙の情報を取得する

こちらも、C++/MFCによる壁紙変更の方法で、IActiveDesktop を使っている。
上記のサイトよりさらに詳しい。
アクティブデスクトップ環境か否か、という判断方法についてもサンプルが載っている。





●最近の収穫 - notes plastiques

IActiveDesktop を C#.net から使う方法がこちらだ。
自分でいちいち ComImport しなければならないようで、非常に面倒なことが窺える。




●COM 相互運用性 - 第 1 部 : C# クライアント チュートリアル (C#)

マイクロソフトの公式ページには、tlbimp.exe というコマンドラインツールを使うと
「COM タイプ ライブラリを .NET Framework メタデータに変換」できるそうなのだが、
tlbimp.exe がどこにあるのか良くわからん。
.NET Framework SDK をインストールすると、同梱されているらしい。




●.NETクライアントからCOMオブジェクト使う

なんとか、もっと楽にCOMオブジェクトを使えるようにならないものか、と思って探したのがこちら。



●NyaRuRuの日記

こちらでは、tlbimp.exe と同じことをするツールを C# で作って、それを使っている模様。

ただ、IActiveDesktop については、そもそもタイプライブラリ自体が無いそうなので、
タイプライブラリを自分で作らねばらなんようだ。
それ以前に、IActiveDesktop を含んでいる実行モジュールがどれなのかが分らん!!




●壁紙の変更で?

*********** ここから *************
より手軽に利用するためには、タイプライブラリを使えばOKです。
SDKのみによる開発であれば、tlbimp.exe で変換できます。
(Visual Studio等をお持ちなら、タイプライブラリを参照設定するだけ)

なお、IActiveDesktop用のタイプライブラリは、標準では用意されて
いませんので、SDKを元に自分でコンパイルして作成するか、
Eduardo A. Morcilloさんが公開しておられるような、フリーの
タイプラリブラリを利用する事になるかと思います。
*********** ここまで *************



How to create COM wrapper for IActiveDesktop

IActiveDesktop を C#.net から使うための宣言一式が投稿されている。



スポンサーサイト
コメント
コメントの投稿
管理者にだけ表示を許可する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。