プラグイン側の関数
 
CPI_Info
プラグイン情報を設定します。

BOOL WINAPI CPI_Info( LPCPIINFO lpInfo );


引数

lpInfo
プラグインの情報が格納されている CPIINFO 構造体へのポインタ


戻り値
関数が成功したら 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 を返します。


解説
定期的に処理を実行する機能を持ったプラグインの場合、 CPIINFOinterval で指定した間隔で呼ばれます。
必要に応じてプラグイン独自の処理を実行してください。







 
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
選択されたメニューアイテム情報が格納されている CLMENUITEM 構造体へのポインタ


戻り値
処理を実行した場合は 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
描画対象のメニューアイテム情報が格納されている CLMENUITEM 構造体へのポインタ


戻り値
関数が成功したら TRUE、失敗したら FALSE を返します。


解説
CL_InsertMenu によって追加した、オーナードローメニューの場合、メニューアイテムが描画されるタイミングで呼ばれます。
lpMI を元に、プラグイン独自の描画処理を行ってください。