effect.dll
Version 1.0
▼ はじめに
「effect.dll」をダウンロードして下さいまして有難うございます。
「effect.dll」は、デスクトップ全体に効果を与える機能を提供するライブラリです。
▼ 導入方法
「effect.dll」にアクセスするクラスを提供しています。
1)プログラムに「effect.hpp」をインクルードします。
#include "effect.hpp"
2)クラスの宣言
effect* myEffect;
3)クラスの構築
myEffect = new effect(myPath, "effect.dll");
4)クラスの解放
delete myEffect;
クラスメンバ関数につきましては、「effect.hpp」の内容を参照してください。
▼ プラグインについて
「effect.dll」は、同じ階層にある DLL ファイルを、プラグインとして認識します。「effect.dll」とプラグインとのインターフェースは次のようになっています。
1)まず、プラグインのロード時に次の関数が実行されます。
extern "C" __declspec(dllexport) BOOL __cdecl _load(HGLOBAL param, long param_num); |
_load() の第1引数に、long 配列のメモリ内容が渡されます。param_num の値は、配列の要素数です。
関数内で必ず param を解放して下さい。
実装例:
long* myParam; |
2)次に、以下の関数が繰り返し実行されます。
extern "C" __declspec(dllexport) BOOL __cdecl _run(RECT desktop_rect, HDC desktop_dc, HDC bitmap_dc); |
desktop_rect には、デスクトップの大きさが渡されます。
desktop_dc は、デスクトップの DC です。
bitmap_dc は、_load() の時点で「effect.dll」側で保持されたデスクトップイメージの DC です。
「effect.dll」は、_run() の戻り値が FALSE になるまで、_run() を _frametime() 時間の間隔で繰り返し実行します。
_frametime() の戻り値の単位は、ミリ秒です。
3)プラグインのアンロード時に次の関数が実行されます。
extern "C" __declspec(dllexport) BOOL __cdecl _unload(); |
_load() で FALSE を返した場合は、本関数は実行されません。
▼ 問い合わせ先
ご質問、ご要望等ありましたら、
satis@msd.biglobe.ne.jp
まで、メールをお願いします。
サポートページを開設しております。
「SatisFactory」
http://www5d.biglobe.ne.jp/~satis/
▼ 特記事項
1)「effect.dll」はフリーソフトウェアです。個人・商用を問わず、「effect.dll」を「effect.dll 使用ソフト」に同梱して配布することに制限はありません。許可をとる必要もありません。
2)一次配布の内容物に含まれているプラグインについても、(1)と同じです。
3)「effect.dll」単体あるいは一次配布の内容物のみを、他のネットワーク等へ転載、雑誌等へ収録・配布する場合には、必ず事前に連絡ください。
4)「effect.dll」使用によって生じた損害等については、作者は何も補償する義務を負わないこととさせていただきます。
▼ 履歴
▼ 1.0 - 2007/05/22
Copyright (C) SatisKia