プラグイン側の関数
CPI_Info
プラグイン情報を設定します。
BOOL WINAPI CPI_Info( LPCPIINFO lpInfo );
引数
lpInfo
戻り値
関数が成功したら TRUE、失敗したら FALSE を返します。
解説
プラグインに唯一必須の関数です。
引数
lpInfo が指す構造体
CPIINFO に、プラグインの情報をセットしてください。
この関数が実装されていない場合やFALSEを返した場合は、CL本体からプラグインとして認識されません。
CPI_Init
プラグインを初期化します。
BOOL WINAPI CPI_Init( void );
引数
なし
戻り値
関数が成功したら TRUE、失敗したら FALSE を返します。
解説
プラグインロード時(LoadLibrary)に呼ばれます。
プラグインに必要な初期化処理を行ってください。
プラグインで設定ファイルを使用する場合は、ここで読込処理を行ってください。
CPI_Free
プラグインを開放します。
BOOL WINAPI CPI_Free( void );
引数
なし
戻り値
関数が成功したら TRUE、失敗したら FALSE を返します。
解説
プラグインアンロード時(FreeLibrary)に呼ばれます。
プラグインに必要な終了処理を行ってください。
プラグインで設定ファイルを使用する場合は、ここで保存処理を行ってください。
CPI_Exec
プラグイン独自の処理を実行します。
BOOL WINAPI CPI_Exec( HWND hWnd, int mouse_flag, int event_flag );
引数
hWnd
CL本体のウインドウハンドル
mouse_flag
以下のマウスクリックフラグ
フラグ | 内容 |
CPI_EXEC_LBUTTON | マウスの左ボタンがクリックされました。 |
CPI_EXEC_RBUTTON | マウスの右ボタンがクリックされました。 |
CPI_EXEC_MBUTTON | マウスの中ボタンがクリックされました。 |
event_flag
以下のイベント発生フラグ
フラグ | 内容 |
CPI_EXEC_BUTTON | ランチャーアイコンボタンにて実行されました。 |
CPI_EXEC_MENU | ランチャーメニューにて実行されました。 |
戻り値
処理を実行した場合は TRUE、実行しなかった場合は FALSE を返します。
FALSEが返るとCL本体はデフォルトの処理を行います。
解説
ランチャメニューやボタンが押された場合に呼ばれます。
必要に応じてプラグイン独自の処理を実行してください。
CPI_Drop
ドロップされたファイルを処理します。
BOOL WINAPI CPI_Drop( HWND hWnd, HDROP hDropInfo );
引数
hWnd
CL本体のウインドウハンドル
hDropInfo
ドロップされたファイルを表す内部データ構造体へのポインタ
戻り値
処理を実行した場合は TRUE、実行しなかった場合は FALSE を返します。
解説
ボタンにファイルがドロップされた場合に呼ばれます。
必要に応じてプラグイン独自の処理を実行してください。
CPI_Draw
オーナードローボタンを描画します。
BOOL WINAPI CPI_Draw( HDC hDC, RECT rect, int state );
引数
hDC
デバイスコンテキストのハンドル
rect
描画範囲のRECT構造体
state
以下の状態フラグ
フラグ | 内容 |
CPI_OD_DEFAULT | 通常状態を描画します。 |
CPI_OD_ONMOUSE | オンマウス状態を描画します。 |
CPI_OD_BTNDOWN | ボタンダウン状態を描画します。 |
戻り値
関数が成功したら TRUE、失敗したら FALSE を返します。
解説
オーナードローボタンの場合、ボタンが描画されるタイミングで呼ばれます。
プラグイン独自の描画処理を行ってください。
CPI_Updt
プラグイン独自の処理を実行します。
BOOL WINAPI CPI_Updt( HWND hWnd );
引数
hWnd
CL本体のウインドウハンドル
戻り値
関数が成功したら TRUE、失敗したら FALSE を返します。
解説
定期的に処理を実行する機能を持ったプラグインの場合、
CPIINFO の
interval で指定した間隔で呼ばれます。
必要に応じてプラグイン独自の処理を実行してください。
CPI_InitButton
プラグインボタンを初期化します。
BOOL WINAPI CPI_InitButton( void );
引数
なし
戻り値
関数が成功したら TRUE、失敗したら FALSE を返します。
解説
プラグインアイテムがボタン配置されるタイミングで呼ばれます。
必要に応じて
CL_UpdateButton などの処理を実行してください
(※CL v2.10以降)
CPI_InitMenu
メニューアイテム(サブメニューアイテム)を登録してください。
BOOL WINAPI CPI_InitMenu( int mouse_flag, LPCLMENUITEM lpParent );
引数
mouse_flag
以下のマウスクリックフラグ
フラグ | 内容 |
CPI_EXEC_LBUTTON | マウスの左ボタンがクリックされました。(CL本体の右クリックメニュー) |
CPI_EXEC_RBUTTON | マウスの右ボタンがクリックされました。(CL本体の左クリックメニュー) |
CPI_EXEC_RBUTTON | マウスの中ボタンがクリックされました。 |
lpParent
現在、展開(表示)されようとしているメニューアイテム情報が格納されている
CLMENUITEM 構造体へのポインタ
トップレベルのメニューアイテムの場合、lpParent の値は
NULL
戻り値
関数が成功したら TRUE、失敗したら FALSE を返します。
解説
CL本体のランチャーメニューが開かれるタイミングで呼ばれます。(その場合の、
lpParent の値は
NULL です。)
プラグインアイテムがサブメニューを持つ場合、
CL_InsertMenu で、配下のメニューアイテムを登録し
TRUE を返してください。
また、
CL_InsertMenu によって追加した、メニューアイテムがサブメニューを持つ場合、サブメニューを展開(表示)するタイミングでも呼ばれます。
動的にメニューアイテムを登録する場合は、
lpParent を元に、
CL_InsertMenu で、配下のメニューアイテムを登録してください。
CPI_ExecMenu
プラグイン独自の処理を実行します。
BOOL WINAPI CPI_ExecMenu( HWND hWnd, int mouse_flag, LPCLMENUITEM lpMI );
引数
hWnd
CL本体のウインドウハンドル
mouse_flag
以下のマウスクリックフラグ
フラグ | 内容 |
CPI_EXEC_LBUTTON | マウスの左ボタンがクリックされました。 |
CPI_EXEC_RBUTTON | マウスの右ボタンがクリックされました。 |
CPI_EXEC_MBUTTON | マウスの中ボタンがクリックされました。 |
menu_id
戻り値
処理を実行した場合は TRUE、実行しなかった場合は FALSE を返します。
解説
CL_InsertMenu によって追加した、メニューアイテムが選択された場合に呼ばれます。
lpMI を元に、プラグイン独自の処理を実行してください。
CPI_DrawMenu
オーナードローメニューを描画します。
BOOL WINAPI CPI_DrawMenu( HDC hDC, RECT rect, int state, LPCLMENUITEM lpMI );
引数
hDC
デバイスコンテキストのハンドル
rect
描画範囲のRECT構造体
state
以下の状態フラグ
フラグ | 内容 |
CPI_OD_DEFAULT | 通常状態を描画します。 |
CPI_OD_ONMOUSE | オンマウス状態を描画します。 |
lpMI
戻り値
関数が成功したら TRUE、失敗したら FALSE を返します。
解説
CL_InsertMenu によって追加した、オーナードローメニューの場合、メニューアイテムが描画されるタイミングで呼ばれます。
lpMI を元に、プラグイン独自の描画処理を行ってください。