api リファレンス (api.xxxxx)
Tablacus Explorer のスクリプトから使える api(= te.WindowsAPI)オブジェクトの関数リファレンスです。
- 実際の意味は対応する Win32 API のドキュメントも参照してください。
使い方
// メイン(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");
- 本リファレンスの
api.XXXは大文字小文字を区別します(api.sprintf,api.base64_encode,api.keybd_eventなどは小文字を含む名前です)。 - 必要最小限の引数の数は表の「必須引数数」。これより少ないと呼び出しは行われず、戻り値は空になります。
- 例外が発生しても
WindowsAPIとして例外にまとめられます。
引数・戻り値の規約
| 表記 | 意味 |
|---|---|
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
目次
- オブジェクト・データ操作
- 64bit整数
- 文字列・エンコード・暗号
- ファイル・パス
- シェル(FolderItem/IDList)
- プロセス・スレッド・同期
- ウィンドウ・メッセージ・入力
- メニュー
- GDI・描画・アイコン
- ImageList
- その他
オブジェクト・データ操作
| 関数 | 引数 | 必須 | 戻り値 | 説明 |
|---|---|---|---|---|
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");