Light Alloy API (アプリケーション プログラミング インターフェース) を使用することで、サードパーティ製のプログラムからシステムメッセージを受け取ることができます。ここでは、サードパーティ製のプログラムによるキーストローク エミュレーション、マウスなしでプレイヤーを制御する方法についての簡単な説明のみ記述されています。(Light Alloy はリモート、RC アシスタントとして動作します)
LightAlloy の管理は、API を経由してメッセージ ウィンドウクラス名を LightAlloyFront に送ることで実現されます。
メッセージ番号 = WM_APP + 2504 (0x89C8)
Light Alloy で認識可能なコマンド一覧:
LAC_FILE_OPEN = 50; //ファイルを開く LAC_FILE_OPEN_URL = 51; //URLを開く LAC_FILE_PLAY_DVD_DISC = 52; //DVD/Blu-ray/オーディオ CD ディスクを開く LAC_FILE_OPEN_DVD_FOLDER_NO_MENU = 53; //メニューなしで DVD を開く LAC_FILE_OPEN_DVD_FOLDER = 54; //DVD/Blu-ray フォルダを開く LAC_FILE_OPEN_TV = 55; //全画面でファイルを開く LAC_FILE_PLAY_CDDVD = 56; //CD/DVD ドライブを開く LAC_FILE_PLAY_BD_DISC = 57; //Blu-ray ディスクを開く LAC_FILE_PLAY_AUD_DISC = 58; //オーディオ CD ディスクを開く LAC_APPLICATION_HISTORY = 59; //拡張されたファイルの履歴 LAC_FILE_INFO = 60; //ファイルに関する情報 LAC_FILE_OSD_INFO = 61; //OSD ファイル情報 LAC_FILE_INFO_PLAYLIST = 62; //プレイリストのファイル情報 LAC_FILE_OPEN_RADIOVIEWER = 63; //インターネットラジオ放送局 LAC_FILE_RADIO_ON_OFF = 64; //ラジオ: 有効/無効 LAC_FILE_RADIO_RECSTART = 65; //ラジオ: 録音を開始 LAC_FILE_RADIO_RECSTOP = 66; //ラジオ: 録音を停止 LAC_PLAYBACK_PLAY = 100; //再生 LAC_PLAYBACK_STOP = 101; //停止 LAC_PLAYBACK_STOP_PLAY = 102; //再生/一時停止 LAC_PLAYBACK_REAL_STOP = 103; //停止 LAC_PLAYBACK_SPEED_PLAY = 104; //再生速度 LAC_PLAYBACK_FILTERS = 105; //フィルターツリー LAC_PLAYBACK_SPEED_PLAY_UP = 106; //再生速度アップ LAC_PLAYBACK_SPEED_PLAY_DN = 107; //再生速度ダウン LAC_SEEK_FRAME_STEP = 150; //次のフレーム LAC_SEEK_FRAME_BACK = 151; //前のフレーム LAC_SEEK_FORWARD = 152; //前方にシーク LAC_SEEK_BACKWARD = 153; //後方にシーク LAC_SEEK_JUMP_FORWARD = 154; //前方にジャンプ LAC_SEEK_JUMP_BACKWARD = 155; //後方にジャンプ LAC_SEEK_SUBTITLE_NEXT = 156; //次の字幕 LAC_SEEK_SUBTITLE_PREV = 157; //前の字幕 LAC_SEEK_REWIND = 158; //先頭に巻き戻し LAC_SEEK_SET_BOOKMARK = 159; //ブックマークのセット LAC_SEEK_LAST_POS = 160; //終点までシーク LAC_SEEK_A_B = 161; //А-B 区間リピート LAC_SEEK_SET_O = 162; //間隔の始点 LAC_SEEK_SET_E = 163; //間隔の終点 LAC_SEEK_SET_OE = 164; //オープニングの始点をセット LAC_SEEK_SET_EO = 165; //エンディングの始点をセット LAC_SEEK_SHOW_OE_PROPS = 166; //OE 間隔の設定 LAC_WINDOW_CONTROL_PANEL = 200; //コントロール パネル LAC_WINDOW_STAY_ON_TOP = 201; //最前面表示 LAC_WINDOW_MINIMIZE = 202; //最小化 LAC_WINDOW_MAXIMIZE = 203; //最大化 LAC_WINDOW_FULLSCREEN = 204; //ウィンドウ/全画面/ LAC_WINDOW_ORIGINAL = 205; //オリジナルサイズ LAC_WINDOW_PLAYLIST = 206; //プレイリスト LAC_WINDOW_EX_PLAYLIST = 207; //拡張プレイリスト LAC_WINDOW_ADVDIR = 208; //プレイリストモード(標準/フォルダ) LAC_WINDOW_PLAYLIST_SIZE = 209; //プレイリストサイズ(標準/最大) LAC_WINDOW_ADVDIR_DIR_SIZE = 210; //プレイリストパネルサイズ LAC_WINDOW_GET_USER_SIZE = 211; //ウィンドウの位置とサイズを保持 LAC_WINDOW_SET_USER_SIZE = 212; //ウィンドウの位置とサイズを読込 LAC_WINDOW_HIDE_FROM_BOSS = 213; //アンチボス LAC_PLAYLIST_SHOW_HIDE_SEARCH = 250; //検索ボックス表示/非表示 LAC_PLAYLIST_ADVDIR_FAVORITE = 251; //ディレクトリモード-お気に入り LAC_PLAYLIST_ADVDIR_GO_MYPATH = 252; //ディレクトリモード-お気に入りフォルダ LAC_PLAYLIST_PLAY = 253; //選択ファイルを再生 LAC_PLAYLIST_NEXT = 254; //リストの次 LAC_PLAYLIST_PREV = 255; //リストの前 LAC_PLAYLIST_ADD_FILES = 256; //ファイルを追加 LAC_PLAYLIST_ADD_FOLDER = 257; //フォルダを追加 LAC_PLAYLIST_DELETE = 258; //リストから除去 LAC_PLAYLIST_DELETE_FILE = 259; //ファイルを削除 LAC_PLAYLIST_CLEAR = 260; //リストをクリア LAC_PLAYLIST_SAVE = 261; //リストを保存 LAC_PLAYLIST_REPORT = 262; //リストのレポートを作成 LAC_PLAYLIST_MOVE_UP = 263; //上に移動 LAC_PLAYLIST_MOVE_DOWN = 264; //下に移動 LAC_PLAYLIST_SORT = 265; //リストのソート LAC_PLAYLIST_VISUALSHUFFLE = 266; //リストをシャッフル LAC_PLAYLIST_SHUFFLE = 267; //ランダムな順序で再生 LAC_PLAYLIST_REPEAT = 268; //リピート LAC_PLAYLIST_REPEAT_FILE = 269; //ファイルをリピート LAC_PLAYLIST_BOOKMARKS = 270; //リストのブックマーク LAC_PLAYLIST_JUMP = 271; //ファイルにジャンプ LAC_PLAYLIST_SEARCH_FILE = 272; //ファイルの場所を開く LAC_PLAYLIST_RENAME_FILE = 273; //ファイルのリネーム LAC_VIDEO_PROPERTIES = 300; //映像オプション LAC_VIDEO_SCREENSHOT = 301; //スクリーンショット LAC_VIDEO_SCREENSHOT_CB = 302; //スクリーンショットをクリップボードにコピー LAC_VIDEO_SAVE_THUMBNAILS = 303; //コンタクトシートを保存 LAC_VIDEO_SAVE_SCREENS_PACK = 304; //フルサイズの連続画像を保存 LAC_VIDEO_OPEN_SCR_FOLDER = 305; //スクリーンショット保存先を開く LAC_VIDEO_SCALE_50 = 306; //スケール 50% LAC_VIDEO_SCALE_100 = 307; //スケール 100% LAC_VIDEO_SCALE_150 = 308; //スケール 150% LAC_VIDEO_SCALE_200 = 309; //スケール 200% LAC_VIDEO_RATIO_ASIS = 310; //元のアスペクト比 LAC_VIDEO_RATIO_16_9 = 311; //アスペクト比 16:9 LAC_VIDEO_RATIO_4_3 = 312; //アスペクト比 4:3 LAC_VIDEO_RATIO_WIDTH = 313; //アスペクト比幅 LAC_VIDEO_RATIO_HEIGHT = 314; //アスペクト比高さ LAC_VIDEO_RATIO_CUSTOM = 315; //比率を指定 LAC_VIDEO_RATIO_CUSTOM_SET = 316; //比率を指定(セット) LAC_VIDEO_RATIO_FREE = 317; //アスペクト比フリー LAC_VIDEO_RATIO_PIXEL = 318; //アスペクト比ピクセル LAC_VIDEO_ZOOM_IN = 319; //映像を拡大 LAC_VIDEO_ZOOM_OUT = 320; //映像を縮小 LAC_VIDEO_BRIGHTNESS_INC = 321; //明るさを増加 LAC_VIDEO_BRIGHTNESS_DEC = 322; //明るさを減少 LAC_VIDEO_CONTRAST_INC = 323; //コントラストを増加 LAC_VIDEO_CONTRAST_DEC = 324; //コントラストを減少 LAC_VIDEO_SATURATION_INC = 325; //彩度を増加 LAC_VIDEO_SATURATION_DEC = 326; //彩度を減少 LAC_VIDEO_COLOR_RESET = 327; //カラーをリセット LAC_VIDEO_SETS_RESTORE = 328; //設定を元に戻す LAC_VIDEO_RATIO_SWITCH = 329; //比率を切り替え LAC_VIDEO_DEBUG_OSD = 330; //技術的な OSD 情報を表示 LAC_VIDEO_OSD_INFO_CB = 331; //OSD 情報をクリップボードにコピー LAC_VIDEO_SUBS_DEBUG_OSD = 332; //技術的な OSD を字幕表示 LAC_VIDEO_SHOW_STATS = 333; //技術的な統計情報を表示 LAC_VIDEO_USE_VSYNC = 334; //VSync を有効化 LAC_VIDEO_USE_ACCURVSYNC = 335; //正確な VSync を使用 LAC_VIDEO_USE_ALTERVSYNC = 336; //代替 VSync を使用 LAC_VIDEO_FLUSHGPU_BEF_VS = 337; //VSync の前に GPU を Flush LAC_VIDEO_FLUSHGPU_AFT_PR = 338; //VSync の後に GPU を Flush LAC_VIDEO_FLUSHGPU_WAIT = 339; //GPU Flush を待機 LAC_VIDEO_USE_FRAME_TC = 340; //フレーム時間の補正を使用 LAC_VIDEO_DIS_AERO = 341; //デスクトップ効果(Aero)を無効化 LAC_VIDEO_USE_16_235_OR = 342; //出力範囲 16-235 を有効 LAC_VIDEO_PAN_SCAN_LEFT = 343; //映像を左にパン LAC_VIDEO_PAN_SCAN_RIGHT = 344; //映像を右にパン LAC_VIDEO_PAN_SCAN_UP = 345; //映像を上にパン LAC_VIDEO_PAN_SCAN_DOWN = 346; //映像を下にパン LAC_SUBTITLES_LOAD = 350; //字幕を読み込む LAC_SUBTITLES_LOAD_TV = 351; //字幕を読み込む(全画面) LAC_SUBTITLES_SHOW = 352; //字幕を表示 LAC_SUBTITLES_SWITCH = 353; //字幕を切り替え LAC_SUBTITLES_SHOW2 = 354; //2 番目の字幕を表示 LAC_SUBTITLES_SWITCH2 = 355; //2 番目の字幕に切り替え LAC_SUBTITLES_PROPERTIES = 356; //字幕のプロパティ LAC_SUBTITLES_TS_INC = 357; //字幕をシフト(増加) LAC_SUBTITLES_TS_DEC = 358; //字幕をシフト(減少) LAC_SUBTITLES_EXPLORER = 359; //字幕エクスプローラ LAC_SUBTITLES_FONT_INC = 360; //字幕を大きく LAC_SUBTITLES_FONT_DEC = 361; //字幕を小さく LAC_SOUND_ADD = 400; //追加の音声トラックを読み込む LAC_SOUND_SWITCH_STREAM = 401; //音声ストリームの切り替え LAC_SOUND_PROPERTIES = 402; //音声の設定 LAC_SOUND_VOLUME_INC = 403; //音量をアップ LAC_SOUND_VOLUME_DEC = 404; //音量をダウン LAC_SOUND_MUTE = 405; //音声の遅延(増加) LAC_SOUND_TS_MINUS = 406; //音声の遅延(減少) LAC_SOUND_TS_PLUS = 407; //音声を前方 LAC_SOUND_PITCH_INC = 408; //音声ピッチを増加 LAC_SOUND_PITCH_DEC = 409; //音声ピッチを減少 LAC_SOUND_PITCH_DEF_ONE = 410; //現在の再生速度をデフォルトピッチ LAC_SOUND_PITCH_DEF_ALL = 411; //すべての再生速度をデフォルトピッチ LAC_APPLICATION_PREFERENCES = 450; //アプリケーションの設定 LAC_APPLICATION_HELP = 451; //ヘルプ LAC_APPLICATION_ABOUT = 452; //バージョン情報 LAC_APPLICATION_EXIT = 453; //終了 LAC_APPLICATION_MONITOR_OFF = 454; //モニターをオフ LAC_APPLICATION_POWER_OFF = 455; //PC をシャットダウン LAC_APPLICATION_POW_ONPLDONE = 456; //プレイリストの最後が終わったらシャットダウン LAC_APPLICATION_HIBERNATE = 457; //休止状態 LAC_APPLICATION_HIB_ONPLDONE = 458; //プレイリストの最後が終わったら休止状態 LAC_APPLICATION_MEDIAHISTORY_CLEAR = 459; //最近使用したファイルリストをクリア LAC_APPLICATION_CLEAR_MEDIA_SETTINGS = 460; //設定とキャッシュをクリア LAC_APPLICATION_WL_KEYS_REMINDER = 461; //WinLIRC キーの割り当てを保持 LAC_APPLICATION_SCHEDULER = 462; //スケジューラ LAC_APPLICATION_SLEEP = 463; //スリープモード LAC_APPLICATION_AGENT_CLOSE = 464; //LAAgent.exe を閉じる LAC_NAVIGATION_TITLE = 500; //タイトルメニュー LAC_NAVIGATION_ROOT = 501; //ルートメニュー LAC_NAVIGATION_SUBS = 502; //字幕メニュー LAC_NAVIGATION_AUDIO = 503; //音声メニュー LAC_NAVIGATION_ANGLE = 504; //アングルメニュー LAC_NAVIGATION_SCENES = 505; //シーンメニュー LAC_NAVIGATION_PREV = 506; //前のチャプター LAC_NAVIGATION_NEXT = 507; //次のチャプター
以下のスクリプトは同じ動作を実行する AutoIt3 用のスクリプトです。唯一の違いは、前者の方が明らかに占有するディスクスペースが少ないという点です:
#include <SendMessage.au3> $hWnd = WinWait("[CLASS:LightAlloyFront]", "", 0) _SendMessage($hwnd, 0x89C8, 100)
#include <SendMessage.au3> Local Const $LAC_PLAYBACK_PLAY = 100 $hWnd = WinWait("[CLASS:LightAlloyFront]", "", 0) _SendMessage($hwnd, 0x89C8, $LAC_PLAYBACK_PLAY)