api リファレンス (api.xxxxx)

Tablacus Explorer のスクリプトから使える api(= te.WindowsAPI)オブジェクトの関数リファレンスです。

使い方

// メイン(sync)スクリプト内: api は最初から使える
api.MessageBox(te.hwnd, "Hello", "TE", 0);

// 非同期スクリプト(ui.js / WebView2 側)ではPromiseを返すため await が必要
const api = await te.WindowsAPI0.CreateObject("api");
const s = await api.sprintf(32, "%d-%s", 1, "a");

引数・戻り値の規約

表記 意味
HWND HANDLE HDC HMENU … ポインタ値(数値または64bit整数)。te.hwnd、api.GetDC() などの戻り値をそのまま渡す
string 文字列。ファイルパスを受け取る関数(CopyFile・CreateFile・FindFirstFile 等)は長いパスに必要な \\?\ 付加を自動で行う場合があります
bool 戻り値は真偽。成功時 true
ptr 戻り値はポインタ値(HWND/HANDLEなど)。失敗時は 0
RECT POINT SIZE MSG など api.Memory("RECT") で作ったMemoryオブジェクトを渡す(出力引数もここに書き戻される)
FolderItem / Items FolderItem・FolderItems・パス文字列・IDList配列など(内部で自動変換)
data 文字列、Memory、SafeArray(UI1)などバイト列として扱えるもの

api.Memory() が受け付ける構造体名: BITMAP BSTR BYTE char CHOOSECOLOR CHOOSEFONT COPYDATASTRUCT DIBSECTION DRAWITEMSTRUCT DWORD EXCEPINFO FINDREPLACE FOLDERSETTINGS GUID GUITHREADINFO HANDLE HDITEM ICONINFO ICONMETRICS int KEYBDINPUT KEYSTATE LOGFONT LPWSTR LVBKIMAGE LVCOLUMN LVFINDINFO LVGROUP LVHITTESTINFO LVITEM MEASUREITEMSTRUCT MENUINFO MENUITEMINFO MONITORINFOEX MOUSEINPUT MSG NMCUSTOMDRAW NMHDR NMLVCUSTOMDRAW NMTVCUSTOMDRAW NONCLIENTMETRICS NOTIFYICONDATA OSVERSIONINFO OSVERSIONINFOEX PAINTSTRUCT POINT RECT SECURITY_ATTRIBUTES SHELLEXECUTEINFO SHFILEINFO SHFILEOPSTRUCT SIZE TCHITTESTINFO TCITEM TOOLINFO TVHITTESTINFO TVITEM VARIANT WCHAR WIN32_FIND_DATA WORD

目次

オブジェクト・データ操作

関数 引数 必須 戻り値 説明
Array - 0 object 空の配列オブジェクト(te.Array相当)を返す。
CreateObject string 1 object (上記参照)
DataObject - 0 object 空のFolderItems(IDataObject)を返す。
DllGetClassObject dllpath, CLSID 2 object DLLを直接ロードしDllGetClassObject経由でクラスのオブジェクトを生成する。
ExecMethod obj, method, Array(args) 3 - オブジェクトのメソッド名を指定して、配列で渡した引数を使って呼び出す(参照渡し引数は配列に書き戻される)。
ExecScript script, lang, [arg], [bAsync] 2 int / ptr スクリプトを実行する。第4引数が真なら別スレッドで実行しスレッドハンドルを返す。通常は戻り値はエラーコード。
GetDispatch obj, name 2 object オブジェクトのメソッドを関数オブジェクトとして取り出す。
GetProcAddress hModule, name / ordinal 2 - モジュール内の関数アドレスを返す。名前は文字列、または序数。
GetProcObject dllpath, name / ordinal, [arg] 2 object DLLがエクスポートするGetProcObjectW系関数を呼び出しオブジェクトを得る。
GetScriptDispatch string, string 2 object スクリプト文字列(第2引数は言語)を解析し、そのグローバル名前空間を持つオブジェクトを返す。
Invoke func, [Array(args)] 1 - 関数オブジェクトを呼び出す。引数は配列で渡せる。
Memory type / size / SafeArray / IStream, [count / string], [ptr] 1 object ネイティブメモリブロック(Memoryオブジェクト)を生成する。第1引数は構造体名("RECT","POINT","WCHAR"等)・バイトサイズ・SafeArray・IStream。配列数や文字列を渡すと初期化される。
ObjDelete obj, name 2 int オブジェクトのプロパティを削除する。
ObjDispId obj, name 2 int プロパティ名のDISPIDを返す(見つからなければ-1)。
Object - 0 object 空のオブジェクトを返す。
ObjGetI obj, name 2 int64 オブジェクトのプロパティ/要素を取得する(大文字小文字を区別しない)。日付型はUNIXエポックms(数値)に変換される。
ObjPutI obj, name, value 3 int オブジェクトのプロパティを設定(なければ作成)する。
pvData SafeArray 1 ptr SafeArrayのデータ領域ポインタを返す。
sizeof type / obj 1 int 構造体名またはMemoryオブジェクトのバイトサイズを返す。
SysAllocString str / data, [codepage] 1 string BSTRを生成する。第2引数に数値を渡すと、第1引数のバイト列をそのコードページで文字列に変換する。
SysAllocStringByteLen str / data, len, [alt] 2 - バイト長を指定してBSTRを生成する(バイナリデータ用)。
SysAllocStringLen str, len 2 - 文字数を指定してBSTRを生成する(先頭を複製、残りは未初期化)。
SysStringByteLen str / data 1 int 文字列/バイナリデータのバイト長を返す。

64bit整数

関数 引数 必須 戻り値 説明
Add int64, int64 2 int64 2つの値を64bit符号付きで加算する。
HighPart int64 1 int 64bit値の上位32bit。
LowPart int64 1 int 64bit値の下位32bit(符号付き)。
QuadPart DWORD, long 1 int64 下位DWORD・上位LONGから64bit整数を作る。引数1つなら値をそのまま返す。
ULowPart uint64 1 uint64 64bit値の下位32bit(符号なし)。
UQuadAdd int64, int64 2 uint64 64bit符号なし加算。
UQuadCmp int64, int64 2 int 64bit符号なし比較(-1/0/1)。
UQuadPart DWORD, long 1 uint64 QuadPartの符号なし版。
UQuadSub int64, int64 2 int64 64bit符号なし減算。

文字列・エンコード・暗号

関数 引数 必須 戻り値 説明
base64_decode str, [bString] 1 - Base64をデコードする。第2引数が真ならバイト文字列(BSTR)、偽/省略ならUI1配列を返す。
base64_encode data 1 string バイナリ/文字列データをBase64化する。
CommandLineToArgv cmdline, [Array] 1 object コマンドライン文字列を引数配列に分解する。
CRC32 data, [seed] 1 int データのCRC32を返す。第2引数は初期値。
CryptProtectData data(string), entropy(string), [bArray] 2 - DPAPIでデータを暗号化する(第3引数が真ならバイト文字列)。
CryptUnprotectData data, entropy(string), [bArray] 2 - DPAPIで復号する。
FormatMessage [fmt], id, ... 1 string エラー番号のシステムメッセージ、または%1等を含む書式文字列を整形する。
GetDateFormat lcid, flags, Date, format 4 string 日付を書式化する。
GetLocaleInfo LCID, LCTYPE 2 string ロケール情報(LCTYPE)を文字列で返す。
GetTimeFormat lcid, flags, Date, format 4 string 時刻を書式化する。
GlobalAddAtom string 1 int グローバルアトムを追加。
GlobalDeleteAtom ATOM 1 int グローバルアトムを削除。
GlobalFindAtom string 1 int グローバルアトムを検索。
GlobalGetAtomName ATOM 1 string アトム名を取得。
HashData data, cbHash 2 string データのハッシュ(バイト長指定)をBase64文字列で返す。
LoadString HINSTANCE, uint 2 string モジュールのリソース文字列を取得する。
MultiByteToWideChar codepage, data, [len] 2 - コードページ指定でバイト列を文字列に変換する。
PSFormatForDisplay propname, value, flags 3 string プロパティ名と値を、エクスプローラ表示用の文字列に整形する。
PSGetDisplayName propname, [format] 1 - プロパティ名(System.Size等)の表示名を返す。
RegisterWindowMessage string 1 int 登録ウィンドウメッセージIDを取得。
sprintf maxLen, format, ...values 3 string 最大文字数・書式・値…で書式化する(%d %s %f %xなど)。
sscanf str, format 2 int64 文字列から書式に従って最初の1値を読み取る。
StrCmpI string, string 2 int 大文字小文字を無視して比較する。
StrCmpLogical string, string 2 int 数値を考慮した(エクスプローラ順の)比較。
StrCmpNI string, string, int 3 int 先頭n文字を大文字小文字無視で比較する。
StrFormatByteSize size, [fmt] 1 string バイト数を「1.5 MB」形式に整形する。
StrLen string 1 int 文字列の長さ。
WideCharToMultiByte codepage, str 2 - 文字列を指定コードページのバイト配列(UI1)に変換する。

ファイル・パス

関数 引数 必須 戻り値 説明
CloseHandle HANDLE 1 bool ハンドルを閉じる。
CopyFile string, string, bool 3 bool ファイルをコピーする(第3引数: 既存時に失敗するか)。
CreateDirectory string, SECURITY_ATTRIBUTES 1 bool ディレクトリを作成する。
CreateFile string, DWORD, DWORD, SECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE 7 ptr ファイルハンドルを取得する(Win32 CreateFile)。
DeleteFile string 1 bool ファイルを削除する。
Extract arg0, arg1, string, string 4 int アーカイブ(7-Zip等のDLL)を展開する。進捗ダイアログ付き。
ExtractIconEx string, int, Memory(HICON), Memory(HICON), uint 5 int ファイルからアイコンを抽出する。
FindClose HANDLE 1 bool 検索ハンドルを閉じる。
FindFirstFile string, WIN32_FIND_DATA 2 ptr 検索を開始する。パスは\\?\延長形式に自動変換。
FindNextFile HANDLE, WIN32_FIND_DATA 2 bool 次の検索結果を取得する。
FreeLibrary HMODULE, uint 1 bool DLLを解放する。
GetCurrentDirectory - 0 string カレントディレクトリを返す。
GetDiskFreeSpaceEx string 1 object FreeBytesOfAvailable・TotalNumberOfBytes・TotalNumberOfFreeBytesを持つオブジェクトを返す。
GetFileAttributes string 1 int ファイル属性を取得する。
GetFileVersionInfo string 1 string ファイルバージョンa.b.c.dを文字列で返す。
GetFinalPathNameByHandle HANDLE, DWORD 2 string ハンドルからフルパスを取得する。
GetModuleFileName HMODULE 1 string モジュールのパスを返す。
GetModuleHandle string 1 ptr モジュールハンドルを返す。
GetShortPathName string 1 string 短いパス名を返す。
LoadLibraryEx path, hFile, flags 3 ptr DLLをロードする。
mciSendString string, string, uint, HWND 4 int MCIコマンドを送る。
MoveFileEx string, string, DWORD 3 bool ファイルを移動/名前変更する。
OutputDebugString string 1 - デバッグ出力に文字列を送る。
PathCreateFromUrl string 1 string file:///URLをパスに変換する。
PathFileExists string 1 bool パスの存在確認。
PathIsDirectory string, DWORD, int 1 bool ディレクトリか判定する。第3引数以降にコールバックを渡すと非同期で動作。
PathIsNetworkPath string 1 bool ネットワークパスか。
PathIsRoot string 1 bool ルートか。
PathIsSameRoot string, string 2 bool 同じルートか。
PathMatchSpec string, string 2 bool ワイルドカード(;区切り可)に一致するか。
PathQuoteSpaces string 1 string 空白(や, &)を含むパスを"で囲む。
PathSearchAndQualify string 1 string 相対パスを検索パスで完全修飾する。
PathUnquoteSpaces string 1 string 前後の"を除く。
PlaySound string, HMODULE, DWORD 3 bool サウンドを再生する。
ReadFile hFile / IStream, bytes 2 - ファイルハンドルまたはIStreamから指定バイト数を読み、バイト文字列で返す。
ReplaceFile string, string, string, DWORD 4 bool ファイルを置換する。
SetCurrentDirectory string 1 bool カレントディレクトリを設定する。
SetDllDirectory string 1 bool DLL検索ディレクトリを設定する。
SetFileAttributes string, DWORD 2 bool ファイル属性を設定する。
SetFilePointer hFile / IStream, offset, method 3 int64 ファイル/ストリームの位置を移動し、新しい位置を返す。
SetFileTime path / Item, ctime, atime, mtime 4 bool ファイルの作成・アクセス・更新日時を設定する(日付オブジェクトを渡す)。
SHCreateStreamOnFileEx path, mode, attr, bCreate, [template], [Object(out)] 4 int ファイルからIStreamオブジェクトを作る。
SHDefExtractIcon string, int, uint, Memory(HICON), Memory(HICON), uint 6 int ファイルからアイコンを抽出する(Shell既定)。
SHEmptyRecycleBin HWND, string, DWORD 3 int ごみ箱を空にする。
SHFileOperation wFunc, from, to, flags, bAsync 1 - ファイルのコピー/移動/削除(FO_*)。from/toは文字列または配列。第5引数が真なら別スレッド。
UrlCreateFromPath string 1 string パスをfile:///URLに変換する。
URLDownloadToFile pCaller, url, path, [reserved] 3 int URL(data:URI、XHRオブジェクト、IStreamも可)をファイルに保存する。
WriteFile hFile / IStream, data 2 int ファイルハンドルまたはIStreamへ書き込む。

シェル(FolderItem/IDList)

関数 引数 必須 戻り値 説明
AssocQueryString flags, str, Item(FolderItem/Items), pszExtra 4 string FolderItemの関連付け情報(ASSOCSTR)を取得する。
CompareIDs lParam, Item1, Item2 3 int IShellFolder::CompareIDsで比較する。
ContextMenu CLSID/DLLpath, ..., Item, Items, hKey, subkey, [Unknown] 1 - シェル拡張(IShellExtInit)からコンテキストメニューオブジェクトを作る。
DoDragDrop Items, dwEffect, [Object] 2 int ドラッグ&ドロップを開始する。
DropTarget Item 1 object FolderItemのIDropTargetを返す。
GetAttributesOf Items, SFGAO 2 int FolderItem(s)のSFGAO属性(指定ビットのみ)を返す。
GetDisplayNameOf Item, SHGDN flags 2 - FolderItemの表示名(SHGDN_*指定)を返す。
HasThumbnail Item 1 int サムネイル提供の有無。ビット1=IThumbnailProvider, ビット2=IExtractImage。
ILClone Item 1 object FolderItemを複製(正規化)する。
ILCreateFromPath path, [bArray] 1 object パスからFolderItemを作る。第2引数が真ならIDListバイト配列を返す。
ILFindLastID Item 1 FolderItem 最後のIDを持つIDListを返す。
ILGetCount Item 1 int IDListの階層数。
ILGetParent Item 1 object 親フォルダのFolderItemを返す。
ILIsEmpty Item 1 bool デスクトップ(ルート)か。
ILIsEqual Item1, Item2 2 bool 2つのFolderItemが等しいか。
ILIsParent Item1, Item2, bImmediate 3 bool 1つ目が2つ目の親か(第3引数: 直接の親のみか)。
ILRemoveLastID Item 1 FolderItem 最後のIDを除いたFolderItemを返す。
SHChangeNotification_Lock hMem, pid, Object(out) 3 object 通知メッセージのデータを取り出し、Objectに格納する。
SHChangeNotification_Unlock - 1 bool (互換用)常にtrue。
SHChangeNotify event, flags, item1, item2 4 - シェル変更通知を発行する。
SHChangeNotifyDeregister ulong 1 bool 通知の登録を解除する。
SHChangeNotifyRegister hwnd, source, event, msg, Item, bRecursive 6 int シェル変更通知を登録する。
SHDoDragDrop hwnd, Items, Ctrl, dwEffect, [Object], bFlag 4 int ウィンドウ指定でドラッグ&ドロップを開始する。
Shell_NotifyIcon DWORD, NOTIFYICONDATA 2 bool 通知領域アイコンを操作する。
ShellExecute hwnd, verb, file, params, dir, nShow 6 ptr ShellExecuteを呼び出す。
ShellExecuteEx SHELLEXECUTEINFO 1 bool ShellExecuteExを呼び出す。
SHFreeNameMappings HANDLE 1 - 名前マッピングを解放する。
SHFreeShared HANDLE, DWORD 2 bool 共有メモリを解放する。
SHGetDataFromIDList Item, nFormat, pv, cb 4 int IDListからデータ(SHGDFIL_*)を取得する。
SHGetFileInfo path / Item, attr, SHFILEINFO, cb, flags 5 ptr ファイル/IDListの情報(アイコン・種類など)を取得する。
SHGetImageList int 1 ptr システムイメージリストを取得する。
SHParseDisplayName - 3 - 表示名/パスからFolderItemを解析(非同期呼び出し対応)。
ShRunDialog HWND, HICON, string, string, string, DWORD 6 - 「ファイル名を指定して実行」ダイアログを表示する。
SHSimpleIDListFromPath path, attr, [date], size 1 FolderItem ファイルシステムを問い合わせず簡易IDListを作る。
SHTestTokenMembership HANDLE, ulong 2 bool トークンのグループ所属を確認する。

プロセス・スレッド・同期

関数 引数 必須 戻り値 説明
CreateEvent SECURITY_ATTRIBUTES, bool, bool, string 4 ptr イベントオブジェクトを作成する。
CreateProcess cmdline, dir, codepage, timeout, [flags], [bObject] 1 string / object コマンドを実行し標準出力を文字列で返す(パイプ使用)。引数: cmdline, dir, codepage(0=自動,1=ANSI,2=Unicode), timeout(ms,0=無限), flags, bObject。bObjectが真なら{StdOut, ProcessId}。失敗時-1。
DoEvents - 0 bool 保留中のメッセージを1件処理する。処理があればtrue。
GetCommandLine - 0 - コマンドライン文字列を返す。
GetCurrentProcess - 0 ptr 現在のプロセスの擬似ハンドル。
GetCurrentThreadId - 0 int 現在のスレッドID(戻り値の型はboolだがIDが入る)。
GetThreadCount [tid] 0 int (スレッドIDを渡すとそのスレッドの)実行中スレッド数。
GetUserName - 0 string ユーザー名を返す。
GetVersionEx OSVERSIONINFOEX 1 bool OSバージョン(OSVERSIONINFOEX)を取得する。
IsWow64Process HANDLE 1 bool WOW64で動作しているか。
MsgWaitForMultipleObjectsEx DWORD, Memory(HANDLE[]), DWORD, DWORD, DWORD 5 int メッセージを処理しながら複数オブジェクトを待機する。
OpenProcess DWORD, bool, DWORD 3 ptr プロセスを開く。
ResetEvent HANDLE 1 bool イベントを非シグナルにする。
RunDLL HMODULE, WORD, HWND, HINSTANCE, string, int 6 - DLLのエントリポイント(rundll32形式)を呼び出す。
SetEvent HANDLE 1 bool イベントをシグナル状態にする。
Sleep DWORD 1 - 指定ミリ秒待機する。
WaitForInputIdle HANDLE, DWORD 2 int プロセスの入力待機を待つ。
WaitForSingleObject HANDLE, DWORD 2 int オブジェクトを待機する。

ウィンドウ・メッセージ・入力

関数 引数 必須 戻り値 説明
AllowSetForegroundWindow DWORD 1 bool フォアグラウンド化を許可する。
BeginPaint HWND, PAINTSTRUCT 2 ptr 描画を開始する。
BringWindowToTop HWND 1 bool ウィンドウを前面に出す。
CallWindowProc WNDPROC, HWND, uint, WPARAM, LPARAM 5 ptr ウィンドウプロシージャを呼ぶ。
ChangeWindowMessageFilterEx HWND, uint, DWORD, CHANGEFILTERSTRUCT 4 bool メッセージフィルタを変更する。
ChooseColor CHOOSECOLOR 1 bool 色選択ダイアログ。
ChooseFont CHOOSEFONT 1 bool フォント選択ダイアログ。
ClientToScreen hwnd, pt(POINT) 2 bool クライアント座標→スクリーン座標(POINTを更新)。
CreateWindowEx DWORD, string, string, DWORD, int, int, int, int, HWND, HMENU, HINSTANCE, Memory/ptr 12 ptr ウィンドウを作成する。
DestroyCursor HCURSOR 2 bool カーソルを破棄する。
DestroyWindow HWND 1 bool ウィンドウを破棄する。
DispatchMessage MSG 1 ptr メッセージをディスパッチする。
DragAcceptFiles HWND, bool 2 - ファイルのドロップ受け入れを設定する。
DragFinish HDROP 1 - HDROPを解放する。
DragQueryFile HDROP, long 2 int HDROPからファイルパス(-1で個数)を取得する。
EnableWindow HWND, bool 2 bool 有効/無効を切り替える。
EndPaint HWND, PAINTSTRUCT 2 bool 描画を終了する。
FindReplace FINDREPLACE 1 ptr 置換ダイアログ。
FindText FINDREPLACE 1 ptr 検索ダイアログ。
FindWindow string, string 2 ptr クラス名/タイトルでウィンドウを検索する。
FindWindowEx HWND, HWND, string, string 4 ptr 子ウィンドウを検索する。
GetAsyncKeyState int 1 int キーの非同期状態。
GetCapture - 0 ptr キャプチャ中のウィンドウ。
GetClassLongPtr HWND, int 2 ptr クラス属性を取得する。
GetClassName hwnd / obj 1 string ウィンドウのクラス名、またはCOMオブジェクトのCLSID文字列。
GetClientRect HWND, RECT 2 bool クライアント矩形を取得。
GetClipboardData - 0 string クリップボードのテキストを取得する。
GetCursorPos - 0 bool カーソル位置を返す。引数にPOINTを渡せばそこに格納しboolを返す。
GetDeviceCaps HDC, int 2 int デバイス機能を取得する。
GetDpiForMonitor [hMonitor], [type] 0 POINT{x,y} モニターのDPIを{x,y}で返す。
GetFocus - 0 ptr フォーカスウィンドウ。
GetForegroundWindow - 0 ptr フォアグラウンドウィンドウ。
GetGUIThreadInfo DWORD, GUITHREADINFO 2 bool GUIスレッド情報を取得する。
GetKeyboardState Memory(BYTE[]) 1 bool 256バイトのキー状態を取得する。
GetKeyNameText long 1 string キー名を返す。
GetKeyState int 1 int キーの状態。
GetMessage MSG, HWND, uint, uint 4 bool メッセージを取得する。
GetMessagePos - 0 int 最後のメッセージのカーソル位置。
GetMonitorInfo HMONITOR, MONITORINFOEX 2 bool モニター情報を取得する。
GetParent HWND 1 ptr 親ウィンドウ。
GetProp HWND, string 2 ptr ウィンドウプロパティを取得する。
GetSysColor int 1 int システム色を取得する。
GetSysColorBrush int 1 ptr システム色のブラシ。
GetSystemMetrics int 1 int システムメトリクスを取得する。
GetTopWindow HWND 1 ptr 最上位の子ウィンドウ。
GetWindow hwnd, cmd / obj 1 ptr 関連ウィンドウを返す。ヒントとしてコントロールオブジェクトのみ渡すとそのhwndを返す。
GetWindowLongPtr HWND, int 2 ptr ウィンドウ属性を取得する。
GetWindowRect HWND, RECT 2 bool ウィンドウ矩形を取得(RECTに格納)。
GetWindowText HWND 1 string ウィンドウタイトル(メインウィンドウは内部タイトル)。
GetWindowThreadProcessId HWND, Memory(DWORD) 2 int スレッドIDを返し、2番目のMemory(DWORD)にプロセスIDを格納。
ImmGetContext HWND 1 ptr IMEコンテキストを取得する。
ImmGetVirtualKey HWND 1 int IME処理前の仮想キーを返す。
ImmReleaseContext HWND, HIMC 2 bool IMEコンテキストを解放する。
ImmSetOpenStatus HIMC, bool 2 bool IMEのオープン状態を設定する。
InvalidateRect HWND, RECT, bool 3 bool 領域を無効化する。
IsAppThemed - 0 bool アプリにテーマが適用されているか。
IsChild HWND, HWND 2 bool 子ウィンドウか。
IsClipboardFormatAvailable uint 1 bool クリップボード形式が利用可能か。
IsIconic HWND 1 bool 最小化されているか。
IsWindow HWND 1 bool ウィンドウか。
IsWindowEnabled HWND 1 bool 有効か。
IsWindowVisible HWND 1 bool 可視か。
IsZoomed HWND 1 bool 最大化されているか。
keybd_event BYTE, BYTE, DWORD, ULONG_PTR 4 - キーボードイベントを合成する。
KillTimer HWND, UINT_PTR 2 bool タイマーを削除する。
LoadCursor HINSTANCE 2 ptr カーソルを読み込む。
LoadCursorFromFile - 2 ptr ファイルからカーソルを読み込む。
MapVirtualKey uint, uint 2 int 仮想キーとスキャンコード等の変換。
MessageBox hwnd, text, title, flags, [Object] 4 int メッセージボックスを表示する。
MonitorFromPoint arg0, DWORD 2 ptr 座標からモニターを取得する。
MonitorFromRect RECT, DWORD 2 ptr 矩形からモニターを取得する。
MonitorFromWindow HWND, DWORD 2 ptr ウィンドウからモニターを取得する。
mouse_event DWORD, DWORD, DWORD, DWORD, ULONG_PTR 2 - マウスイベントを合成する。
MoveWindow hwnd, x, y, w, h, bRepaint 6 - ウィンドウを移動・リサイズする。
OleCmdExec obj, GUIDstring, cmdID, execopt, [in] 5 - IOleCommandTargetでコマンドを実行する。
OleGetClipboard - 0 object クリップボードの内容をFolderItemsとして取得する。
OleSetClipboard Items 1 int FolderItemsをクリップボードに設定する。
OpenIcon HWND 1 bool 最小化を元に戻す。
PeekMessage MSG, HWND, uint, uint, uint 5 bool メッセージを確認する。
PostMessage HWND, uint, WPARAM, LPARAM 1 - メッセージをポストする。
RedrawWindow HWND, RECT, HRGN, uint 4 bool 再描画する。
RegisterHotKey HWND, int, uint, uint 4 bool ホットキーを登録する。
ReleaseCapture - 0 bool キャプチャを解除する。
ScreenToClient hwnd, pt(POINT) 2 bool スクリーン座標→クライアント座標。
SendInput uint, INPUT, int 3 int 入力を合成する。
SendMessage HWND, uint, WPARAM, LPARAM 2 ptr メッセージを送信する。
SendMessageTimeout hwnd, msg, wParam, lParam, flags, timeout, [Object(out)] 6 ptr タイムアウト付きで送信する。結果は第7引数のObject[0]に格納。
SendNotifyMessage HWND, uint, WPARAM, LPARAM 4 bool 非同期で送信する。
SetCapture HWND 1 ptr マウスキャプチャを設定する。
SetClassLongPtr HWND, int, LONG_PTR 3 ptr クラス属性を設定する。
SetClipboardData text 1 - クリップボードにテキストを設定する。
SetCursor HCURSOR 1 ptr カーソルを設定する。
SetCursorPos int, int 2 bool カーソル位置を設定する。
SetFocus - 1 - フォーカスを設定する(メイン窓なら現在のビューをアクティブ化)。
SetForegroundWindow HWND 1 bool フォアグラウンドにする。
SetKeyboardState Memory(BYTE[]) 1 bool キー状態を設定する。
SetLayeredWindowAttributes HWND, COLORREF, BYTE, DWORD 4 bool レイヤードウィンドウの透明度を設定する。
SetSysColors n, Memory(int[]), Memory(COLORREF[]) 3 bool システム色を設定する。
SetTimer HWND, UINT_PTR, uint 3 ptr タイマーを設定する(コールバックなし。WM_TIMERで受け取る)。
SetWindowLongPtr HWND, int, LONG_PTR 3 ptr ウィンドウ属性を設定する。
SetWindowPos HWND, HWND, int, int, int, int, uint 7 bool 位置・サイズ・Zオーダーを設定する。
SetWindowText HWND, string 2 bool タイトルを設定する。
SetWindowTheme hwnd, subAppName, subIdList 3 - テーマを設定。エクスプローラビューのhwndにdarkmode_explorer/*itemsviewを渡すと内部のテーマ処理が行われる。
ShouldAppsUseDarkMode - 0 bool ダークモードか。
ShowWindow HWND, int 2 bool 表示状態を変更する。
SystemParametersInfo uint, uint, Memory/ptr, uint 4 bool システムパラメータを取得/設定する。
TranslateMessage MSG 1 bool メッセージを変換する。
UnregisterHotKey HWND, int 2 int ホットキーを解除する。
WindowFromPoint - 1 ptr 座標下のウィンドウ。

メニュー

関数 引数 必須 戻り値 説明
CreateMenu - 0 - メニューを作る(Menuオブジェクトとして返る)。
CreatePopupMenu - 0 - ポップアップメニューを作る。
DeleteMenu HMENU, uint, uint 3 bool 項目を削除する(サブメニューも破棄)。
DestroyMenu HMENU 1 bool メニューを破棄する。
EnableMenuItem HMENU, uint, uint 3 bool 項目の有効/無効。
EndMenu - 0 bool メニューを閉じる。
GetMenuDefaultItem HMENU, uint, uint 3 int 既定項目。
GetMenuInfo HMENU, MENUINFO 2 bool メニュー情報を取得。
GetMenuItemCount HMENU 1 int 項目数。
GetMenuItemID HMENU, int 2 int 項目のID。
GetMenuItemInfo HMENU, uint, bool, MENUITEMINFO 4 bool 項目情報を取得する。
GetMenuItemRect HWND, HMENU, uint, RECT 4 bool 項目の矩形。
GetMenuString HMENU, uint, long 3 string 項目の文字列。
GetSubMenu HMENU, int 2 ptr サブメニュー取得。
GetSystemMenu HWND, bool 2 ptr システムメニュー取得。
InsertMenu HMENU, uint, uint, UINT_PTR, string 5 bool 項目を挿入する。
InsertMenuItem HMENU, uint, bool, MENUITEMINFO 4 bool MENUITEMINFOで項目を挿入する。
IsMenu HMENU 1 bool メニューか。
LoadMenu HINSTANCE 2 ptr リソースからメニューを読み込む。
MenuItemFromPoint HWND, HMENU, POINT 3 int 座標の項目を返す。
RemoveMenu HMENU, uint, uint 3 bool 項目を除去する(サブメニューは破棄しない)。
SetMenuDefaultItem HMENU, uint, uint 3 bool 既定項目を設定。
SetMenuInfo HMENU, MENUINFO 2 bool メニュー情報を設定。
SetMenuItemBitmaps HMENU, uint, uint, HBITMAP, HBITMAP 5 bool 項目のチェック用ビットマップ設定。
SetMenuItemInfo HMENU, uint, bool, MENUITEMINFO 4 bool 項目情報を設定する。
TrackPopupMenuEx hmenu, flags, x, y, hwnd, TPMPARAMS, [IContextMenu] 6 int ポップアップメニューを表示する(IContextMenuを第7引数に渡すとサブクラス処理)。

GDI・描画・アイコン

関数 引数 必須 戻り値 説明
AlphaBlend HDC, int, int, int, int, HDC, int, int, int, int, long 11 bool アルファブレンド転送。
BitBlt HDC, int, int, int, int, HDC, int, int, DWORD 9 bool ビットブロック転送。
CopyImage HANDLE, uint, int, int, uint 5 ptr 画像を複製する。
CreateCompatibleBitmap HDC, int, int 3 ptr 互換ビットマップを作る。
CreateCompatibleDC HDC 1 ptr 互換DCを作る。
CreateFontIndirect LOGFONT 1 ptr フォントを作る(LOGFONT)。
CreateIconIndirect ICONINFO 1 ptr アイコンを作る(ICONINFO)。
CreatePen int, int, COLORREF 3 ptr ペンを作る。
CreateSolidBrush COLORREF 1 ptr ブラシを作る。
DeleteDC HDC 1 bool DCを削除する。
DeleteObject HGDIOBJ 1 bool GDIオブジェクトを削除する。
DestroyIcon HICON 1 bool アイコンを破棄する。
DrawIcon HDC, int, int, HICON 4 bool アイコンを描画する。
DrawIconEx HDC, int, int, HICON, int, int, uint, HBRUSH, uint 9 bool サイズ指定でアイコンを描画する。
DrawText hdc, text, n, RECT, flags 5 int テキストを描画する。
FillRect HDC, RECT, HBRUSH, RGBQUAD(uint) 3 bool 矩形を塗りつぶす。ブラシが0の場合は、第3引数に0xAABBGGRR形式(AがSourceConstantAlpha)の色を指定して半透明塗りつぶし。
GetDC HWND 1 ptr ウィンドウのDCを取得する。
GetGlyphIndices HDC, string, arg2, DWORD 4 int グリフインデックスを取得する。
GetIconInfo HICON, ICONINFO 2 bool アイコン情報を取得する。
GetObject HANDLE, int, Memory/ptr 3 int GDIオブジェクト情報を取得する。
GetPixel HDC, int, int 3 int 画素の色。
GetStockObject int 1 ptr ストックオブジェクトを取得する。
GetTextExtentPoint32 HDC, string, SIZE 3 bool 文字列の描画サイズ。
GetWindowDC HWND 1 ptr ウィンドウ全体のDC。
LineTo HDC, int, int 3 bool 線を引く。
LoadIcon HINSTANCE 2 ptr アイコンを読み込む。
LoadImage HINSTANCE, arg1, uint, int, int, uint 6 ptr 画像を読み込む。
MoveToEx HDC, int, int, POINT 4 bool ペン位置を移動する。
PlgBlt HDC, POINT, HDC, int, int, int, int, HBITMAP, int, int 10 bool 平行四辺形への転送。
Rectangle HDC, int, int, int, int 5 int 矩形を描く。
ReleaseDC HWND, HDC 2 int DCを解放する。
RoundRect HDC, int, int, int, int, int, int 7 bool 角丸矩形を描く。
SelectObject HDC, HGDIOBJ 2 ptr オブジェクトを選択する。
SetBkColor HDC, COLORREF 2 int 背景色を設定する。
SetBkMode HDC, int 2 int 背景モードを設定する。
SetDCBrushColor HDC, COLORREF 2 int DCブラシ色を設定する。
SetDCPenColor HDC, COLORREF 2 int DCペン色を設定する。
SetRect rc(RECT), l, t, r, b 1 rc RECTに値を設定する。
SetTextColor HDC, COLORREF 2 int 文字色を設定する。
StretchBlt HDC, int, int, int, int, HDC, int, int, int, int, DWORD 11 bool 拡大縮小転送(HALFTONE)。
TransparentBlt HDC, int, int, int, int, HDC, int, int, int, int, uint 11 bool 透過色付き転送。

ImageList

関数 引数 必須 戻り値 説明
ImageList_Add HIMAGELIST, HBITMAP, HBITMAP 3 int ビットマップを追加する。
ImageList_AddIcon HIMAGELIST, HICON 2 int アイコンを追加する。
ImageList_AddMasked HIMAGELIST, HBITMAP, COLORREF 3 int 透過色指定で追加する。
ImageList_Copy HIMAGELIST, int, HIMAGELIST, int, uint 5 bool 画像をコピー/入れ替える。
ImageList_Create int, int, uint, int, int 5 ptr イメージリストを作る。
ImageList_Destroy HIMAGELIST, bool 1 int 破棄する(第2引数が真ならCOMのRelease)。
ImageList_Draw HIMAGELIST, int, HDC, int, int, uint 6 bool 描画する。
ImageList_DrawEx HIMAGELIST, int, HDC, int, int, int, int, COLORREF, COLORREF, uint 10 bool 拡張描画する。
ImageList_Duplicate HIMAGELIST 1 ptr 複製する。
ImageList_GetBkColor HIMAGELIST 1 int 背景色を取得する。
ImageList_GetIcon HIMAGELIST, int, uint 3 ptr アイコンを取り出す。
ImageList_GetIconSize HIMAGELIST, SIZE 2 bool アイコンサイズを取得(SIZEに格納)。
ImageList_GetImageCount HIMAGELIST 1 int 画像数。
ImageList_GetOverlayImage HIMAGELIST, int 2 int オーバーレイ画像のインデックス。
ImageList_LoadImage HINSTANCE, arg1, int, int, COLORREF, uint, uint 7 ptr リソース/ファイルから読み込む。
ImageList_Remove HIMAGELIST, int 2 bool 画像を削除する。
ImageList_Replace HIMAGELIST, int, HBITMAP, HBITMAP 4 int 画像を置き換える。
ImageList_ReplaceIcon HIMAGELIST, int, HICON 3 int アイコンで置き換える/追加する。
ImageList_SetBkColor HIMAGELIST, COLORREF 2 int 背景色を設定する。
ImageList_SetIconSize HIMAGELIST, int, int 3 bool アイコンサイズを設定する。
ImageList_SetImageCount HIMAGELIST, uint 2 bool 画像数を設定する。
ImageList_SetOverlayImage HIMAGELIST, int, int 3 bool オーバーレイ画像を設定する。

その他

関数 引数 必須 戻り値 説明
CoTaskMemFree Memory/ptr 1 - CoTaskMemAllocで確保したメモリを解放する。

使用例

// 子プロセスを実行して標準出力を取得
const out = api.CreateProcess('cmd /c dir C:\\', "C:\\", 0, 5000);

// RECTを使う
const rc = api.Memory("RECT");
api.GetWindowRect(te.hwnd, rc);
const w = rc.Right - rc.Left;

// ファイル操作 (FO_DELETE 等は consts.js で定義)
api.SHFileOperation(FO_DELETE, "C:\\temp\\a.txt", null, FOF_SILENT | FOF_NOCONFIRMATION, false);

// 書式化
api.sprintf(32, "%05d", 42);   // "00042"

// プロパティの動的取得
api.ObjGetI(obj, "length");

関連