2012/07/06
KAICHO: s_naray[at]yahoo[dot]co[dot]jp
※SPAM防止のため捻ってある

デフォルトで用意されている吉里吉里プラグイン概説

■はじめに

本文書は、吉里吉里開発コード中に含まれている吉里吉里プラグイン(.dll)について、 情報を纏めたものである。

こういう吉里吉里プラグインの情報は極めて少ない。マニュアルらしきものが 開発ディレクトリ中にあって、検索エンジンで引っかかんない(上に見ようとすると とんでもなく遅い)というのも一因だと思う。実に便利なプラグインがてんこもりだと いうのに、この状況は本当に惜しい。広島県ばりに惜しい。 なので、こういうのを纏めておけば誰かの役に立つかなー、と思って。

■プラグインの組み込み方

scenario/Override.tjsなどを作成し、この中で以下のようにPlugins.link()を使って 読み込むことをお勧めする。クラスを拡張したりするため、first.ksやAfterinit.tjsの 中で読み込んでも意味がないことが多いので。

Plugins.link("layerExImage.dll");
Plugins.link("windowEx.dll");
    :

■プラグイン一覧

実はこんなに沢山あるんですよな、スゲー。 以下の説明は、基本的に吉里吉里2.32r2のソースツリーを参照して記載している。 更新されている可能性もあるので、 正確な情報はリンク先(最新版のはず)を参照すること。なお、この表は、一度 こちらのディレクトリリストから自動生成したものを ベースに、手で情報を加えるということをしており、最新情報でないこともあるし リンクも切れてるものがあるということはご承知おきくださいお願い。あと、 dllのバイナリはこのあたりのをリンクしてるのでこちらも参照

書きかけなので、調べたら順次追加していく所存ナリ。 ちうか正直全部リンク先見ればいいんですよマヂ本当に。スゲー遅いけど。

ちなみに、この中でよく使いそうなのは、extrans、fstat、layerExImage、 scriptsEx、windowEx、wuvorbis.dll…くらいかなぁ。 まだまだテスト中だったり(といってもいつテストが終わるのか不明) まともに動かなかったりするので、 導入の際は事前に入念なテストが必要なことに注意。

プラグイン名 機能概要 追加される関数・機能概要 頒布元リンク
KAGParserEx.dll KAGParser(KAGスクリプト(.ks)ファイルを読み込むパーサ)を拡張する 行末に"\"を、次行先頭に";"を追加すると、複数行に渡るタグを記述できる
addFont.dll フォントファイルを読み込む
System.addFont(fontfilename, extract);
フォントファイルを追加する。削除はできないらしい。
adjustMonitor.dll 画面(あるいは矩形)外に出ないようなウィンドウ(矩形)の表示位置・サイズを返す
global.AdjustMoni( dic );
dic に自身のウィンドウと矩形またはウィンドウを指定すると、その矩形またはウィンドウが存在するモニタ上からはみ出さない位置とサイズを辞書配列で返す。
base64.dll base64エンコーダ・デコーダ
Base64.encode(filename);
base64エンコードする。
Base64.decode(base64str, filename);
base64strをbase64デコードし、filenameに書き込む。
clipboardEx.dll クリップボード機能を追加する テキスト・BITMAP画像・TJS式をクリップボードに貼り付け・取り出しできるようにし、ClipboardクラスとWindowクラスに以下の関数を追加する
Clipboard.hasFormat(format);
指定のフォーマットがクリップボードに格納されているかどうか確認
Clipboard.asText;
クリップボードにテキストを登録または取り出す
Clipboard.asTJS;
クリップボードにTJS式を登録または取り出す
Clipboard.setAsBitmap(layer);
layer内容をビットマップ形式でクリップボードに貼り付ける
Clipboard.getAsBitmap(layer);
クリップボードからビットマップ形式でlayerに貼り付ける
Clipboard.setMultipleData(data);
クリップボードに複数形式のデータを貼り付ける
Window.clipboardWatchEnabled;
クリップボード更新を監視するかどうかのフラグ(def=false)
Window.onDrawClipboard();
クリップボードが更新された時に呼び出される
csvParser.dll CSVファイルを読み書きする
CSVParser.CSVParser(target, separator=',', newline='\r\n');
コンストラクタ。CVSファイルを読み込む前準備としてデリミタを設定する
CSVParser.init(text);
処理対象のテキストを初期化
CSVParser.init(text);
処理対象のテキストを初期化
CSVParser.initStorage(filename, utf8=false);
処理対象のストレージを初期化
CSVParser.getNextNumber();
次の行の情報を配列として取得する
CSVParser.currentLineNumber();
現在処理済みの行番号を取得する
CSVParser.parse(text=currentLine);
テキストにパース処理を実行する。行ごとにdoLine() イベントを呼び出す
CSVParser.parseStorage(filename,utf8=false);
ストレージにパース処理を実行する。行ごとにdoLine() イベントを呼び出す
CSVParser.doLine(columne, lineNo);
parse/parseStorageから行ごとに呼び出されるコールバック
dirlist.dll ディレクトリリストを取得する。より高機能なfstatがあるので、現在積極的に 利用する必要はない マニュアルないし。
drawdevice.dll
drawdeviceD3D.dll Direct3Dベースで動作する吉里吉里 drawdevice プラグイン
drawdeviceIrrlicht.dll 吉里吉里から Irrlicht (Wikipedia) を取り扱う
drawdeviceOgre.dll OGRE (Wikipedia) ベースの drawdevice 実装のテストコード
expat.dll Expat (Wikipedia(英語))を 使ったXMLパーサ。別途Expatが必要
XMLParser.parse(text);
テキストにパース処理を実行する。
XMLParser.parseStorage(filename);
ストレージにパース処理を実行する。
XMLParser.errorCode;
エラーコードプロパティ
XMLParser.errorString;
エラー文字列プロパティ
XMLParser.currentByteIndex;
現在のバイト位置プロパティ
XMLParser.currentLineNumber;
現在の行番号プロパティ
XMLParser.currentColmunNumber;
現在の列番号プロパティ
XMLParser.currentByteCount;
現在のバイトカウントプロパティ
extrans.dll 吉里吉里にトランジションを追加する mosaic, ripple, rotate, turn, wave が追加される。詳細は吉里吉里マニュアルに あるので省略。
fftgraph.dll スペクトルアナライザを表示する。使う人居るの?
flashPlayer.dll 吉里吉里から直接 Adobe Flashを 操作する …見たらクラス定義が結構大きかったので省略。マニュアルを参照してくだされ
fpslimit.dll 吉里吉里のcontinuousHandlerとトランジションの実行頻度を指定できるようにする Plugin.link('fpslimit.dll')することで、System.fpslimit(def=1000) が 使えるようになり、この値を60とかに設定すれば、全力投球しなくなる。
fstat.dll Storagesクラスにファイルリスト取得などの機能を拡張
Storages.fstat(filename);
ファイル属性(作成・更新日時、ファイルサイズなど)を取得する
Storages.exportFile(src, dest);
吉里吉里ストレージ(.xp3の中も含む)のファイルを抽出する
Storages.deleteFile(file);
吉里吉里ストレージ中のファイルを削除する。xp3の中のファイルは除く?
Storages.moveFile(fromFile, toFile);
指定ファイルを移動する
Storages.dirlist(dir);
指定ディレクトリのファイル一覧を取得する
Storages.removeDirectory(dir);
指定ディレクトリを削除する
Storages.createDirectory(dir);
ディレクトリを作成する
Storages.setFileAttributes(filename, attr);
ファイル属性を設定する
Storages.resetFileAttributes(filename, attr);
ファイル属性を解除する
Storages.getFileAttributes(filename);
ファイル属性を取得する
Storages.selectDirectory(params);
フォルダ選択ダイアログを開く
Storages.isExistentDirectory(dir);
ディレクトリが存在するかどうか調べる
Storages.getTime(target);
指定ファイル・ディレクトリのタイムスタンプを得る
Storages.setTime(target, times);
指定ファイル・ディレクトリのタイムスタンプを設定する
Storages.getLastModifiedFileTime(target);
指定ファイル・ディレクトリの更新時刻を得る
Storages.setLastModifiedFileTime(target, time);
指定ファイル・ディレクトリの更新時刻を設定する
Storages.isExistentStorageNoSearchNoNormalize(filename);
ファイルが存在するかどうか調べる(パス正規化なし・autoPathからの検索なし)
Storages.getDisplayName(filename);
エクスプローラで表示されるファイル名を得る
Storages.getMD5HashString(filename);
ファイルのMD5ハッシュ値を取得する
gameswf.dll gameswf (Wikipedia(英語))を 吉里吉里上から使えるようにする。テスト中、らしい
getSample.dll WaveSoundBufferクラスに、現在再生中のサンプル値を取得するメソッドを 追加する
WaveSoundBuffer.getSample(n=100);
現在の再生位置から指定数のサンプルを取得してその平均値を返す
htmlhelp.dll 吉里吉里からウィンドウを開いてhtmlヘルプを表示する。HTML help workshop が必要 まぁ…普通使わんでしょうな。
httprequest.dll HttpRequestクラスを追加し、HTTP/HTTPSによる非同期通信機能を提供
httpserv.dll HTTPサーバ
javascript.dll ScriptsクラスへJavaScript機能拡張を追加
Scripts.execJS(text);
JavaScriptテキストを実行する
Scripts.execStorageJS(filename);
JavaScriptファイルをを実行する
Scripts.enableDebugJS(port=5858, wait=false);
JavaScriptデバッガの有効化
Scripts.processDebugJS();
デバッガ処理駆動
json.dll JSON (Wikipaedia) ファイルのパーサ
Scripts.evalJSON(jsonText);
JSON文字列を解析してArrayまたはDictionaryを返す
Scripts.evalJSONStorage(jsonFile, utf8=false);
JSONファイルを解析してArrayまたはDictionaryを返す
Scripts.saveJSON(jsonFile, obj, utf8=false, newline=0);
データをJSON形式で保存する
Scripts.toJSONString(obj, newline=0);
データをJSON形式の文字列に変換する
layerExAVI.dll LayerクラスにAVI形式での保存メソッドを追加する(AVI2.0非対応)
Layer.openAVI(filename,fps);
AVIファイルの保存準備
Layer.openCompressedAVI(filename,fps);
圧縮フォーマットを指定してAVIファイルを保存準備
Layer.recordAVI(frame);
AVIファイルに1フレーム記録する
Layer.closeAVI(frame);
AVIファイルを閉じる
Layer.openWAV(filename, channek, rate, bits, interval);
WAVEファイル録音準備
Layer.startWAV();
WAVEファイル録音開始
Layer.stopWAV();
WAVEファイル録音停止
Layer.closeWAV();
WAVEファイル録音終了
layerExAgg.dll 吉里吉里で AGG(Anti-Grain Geometry)を使うためのプラグイン(テスト中?)
AGGPrimitive.AGGPrimitive(layer, type, ...);
AGGPrimitiveのコンストラクタ
Layer.aggSetPos(x, y);
aggの表示原点指定
Layer.aggRotate;
aggのの回転指定/取得?
Layer.aggX;
Layer.aggY;
現在位置を指定/取得?
layerExAreaAverage.dll Layerクラスに面積平均法による縮小メソッドを追加。縮小画像が綺麗になる
Layer.strechCopyAA(dleft, dtop, dwidth, dheight, src, sleft, stop, swidth, sheight);
面積平均法による縮小メソッド
layerExBTOA.dll レイヤのα領域/Province(領域)画像を操作する
Layer.copyRightBlueToLeftAlpha();
レイヤ右半分のBlue Channel を左半分の α Channel に複製する
Layer.copyBottomBlueToTopAlpha();
レイヤ下半分のBlue Channel を上半分の α Channel に複製する
Layer.fillAlpha();
レイヤのα Channelを0xffで埋める
Layer.copyAlphaToProvince(threashold);
レイヤのαChannelを領域画像にコピーする
Layer.clipAlphaRect(dleft, dtop, src, sleft, stop, swidth, sheight, clear);
レイヤのαChannelをsrcのαChannelで乗算する
Layer.fillByProvince(index, color);
領域画像上の指定値のインデックスの場所を、指定した色で塗りつぶす
layerExCairo.dll 吉里吉里上から cairo (Wikipedia) を利用する(テスト中)
layerExDraw.dll Layerクラスを拡張し、 GDI+ (Wikipedia) による描画機能を追加する。線書いたり円書いたりできる
layerExGdiPlus.dll Obsolete、layerExDraw.dllを使用すること
layerExImage.dll Layerクラスに画像効果用のメソッドを追加
Layer.light(brightness, contrast);
レイヤの明度とコントラストを変化させる
Layer.colorizet(hue, sat, blend);
レイヤの色相と彩度を変化させる
Layer.noise(level);
レイヤにノイズを追加する
Layer.generateWiteNoise();
レイヤにホワイトノイズを描画する。元画像は無視する
Layer.modulate(hue, saturation, luminance);
レイヤの色相/彩度/輝度悪変更する
layerExMovie.dll Layerクラスに動画再生機能を追加拡張する。fpslimitに合わせた 負荷調整が可能
Layer.openMovie(filename, alpha);
再生するムービーを開く
Layer.startMovie(loop);
ムービーを再生開始する
Layer.stopMovie();
ムービーを停止する
Layer.isPlayingMovie();
ムービーが再生中かどうか調べる
Layer.onStartMovie();
ムービー開始時に呼ばれる
Layer.onStopMovie();
ムービー停止時に呼ばれる
Layer.onUpdateMovie();
レイヤ内容が更新された時に呼ばれる
layerExPerspective.dll レイヤクラスに透視変換するコピー命令を追加する
Layer.perspectiveCopy(src,left,top,width,height,x1,y1,x2,y2,x3,y3,x4,y4);
srcから透視変換しつつ画像をコピーする
layerExRaster.dll Layerクラスにラスター処理するコピー命令を追加する
Layer.copyRaster(src, maxh, lines, cycle, time);
srcからラスター処理(横1ドットを矩形的周期的にずらす)しながらコピーする。 ほら昔ラスタースクロールってあったやん?あんなカンジ。 あれとは違ってこっちは実際に画像を波打たせるけれど。
layerExSave.dll Layer/Windowクラスに、TLG5/PNGでの画像保存メソッドを追加する
handler Window.startSaveLayerImage(layer,filename,tags);
TLG5/PNG形式での画像保存開始
Window.cancelSaveLayerImage(handler);
TLG5/PNG形式での画像保存キャンセル
Window.stopSaveLayerImage(handler);
TLG5/PNG形式での画像保存中止
Window.onSaveLayerImageProgress(handler, progress, layer, filename);
保存処理中に呼び出されるハンドラ
Window.onSaveLayerImageDone(handler, canceled, layer, filename);
保存処理終了(キャンセル含む)時に呼び出されるハンドラ
lineParser.dll 行単位でテキストを処理するパーサ
LineParser.LineParser(target);
コンストラクタ。targetはdoLine()イベントを送るインスタンス。省略時は自分自身。
LineParser.initStorage(filename, utf8=false);
対象テキストファイルの初期化
LineParser.getNextLine();
次の行を取得
LineParser.currentLineNumber;
現在の処理住みの行番号を取得
LineParser.parse(text);
テキストをパースする。target.doLine()を呼び出す。text省略時は 現在のテキストを処理する
LineParser.parseStorage(filename, utf8=false);
ストレージをパースする。行ごとにtarget.doLine()を呼び出す。
LineParser.doLine(text, lineNo);
parse()/parseStorage()実行時に行ごとに呼び出される
magickpp.dll ImageMagick (Wikipedia)の Magick++ をTJSで使えるようにするプラグイン(未完成?)
memfile.dll メモリ上に吉里吉里用ファイルシステムを構築するプラグイン。アクセス するパスは mem://./パス名 となる
Storages.isExistMemoryFile(filename);
あるメモリファイルが存在するかどうか
Storages.isExistMemoryDirectory(dirname);
あるメモリディレクトリが存在するかどうか
Storages.deleteMemoryFile(filename);
メモリファイルを削除する
Storages.deleteMemoryDirectory(dirname);
メモリディレクトリを削除する
Storages.getMemoryFileInfo(filename);
あるメモリファイルの情報を取得する
Storages.getMemoryFileData(filename);
あるメモリファイルの内容を取得する
Storages.getMemoryDirectory(dirname);
あるメモリディレクトリの情報を取得する
messenger.dll 同じマシン上で動作する複数の吉里吉里間の通信機能を提供する
Window.messageEnable;
メッセージが受信可能かどうかを設定する
Window.storeHWND;
HWND情報を保存するかどうかを指定する
Window.registerUserMessageReceiver(mode, msg, proc, userdata);
ユーザ定義のメッセージハンドラを登録する
Window.sendUserMessage(msg, wparam, lparam);
低レベルメッセージを送信する
Window.sendMessage(key, message);
メッセージを送信する
Window.onMessageReceived(key, message);
メッセージを受信した時に呼ばれる
minizip.dll 吉里吉里でzipファイルを扱う
Zip.Zip();
コンストラクタ
Zip.open(filename, overwrite=0);
ZIPアーカイブを書きこみオープンする
Zip.add(srcfile, dstfile, compressLevel=void, password=void);
ZIPアーカイブにファイルを追加する
Zip.close();
ZIPアーカイブをクローズする
Unzip.Unzip();
ZIPアーカイブを展開用にオープンする
Unzip.list();
ZIPアーカイブ中に含まれるファイルリストを得る
Unzip.extract(srcname, dstfile, password=void);
ZIPアーカイブ中に含まれるファイルsrcnameをdstfileに展開する
Unzip.close();
ZIPアーカイブをクローズする
Storages.mountZip(domainname, zipfile);
ZIPアーカイブをファイルシステムとしてmountする。以降、zip://domainname/ファイル名 でアクセス可能となる。読み込み専用。
Storages.unmountZip(domainname);
ファイルシステムとしてmountされているZIPアーカイブをunmountする。
msgreceiver.dll メッセージを受信する。より高機能なmessenger pluginが既に存在するため、通通はこちらは使わない
ncbind.dll TJSからC++プログラムを使えるようにするためのC++テンプレート これはプラグインじゃないことに注意。でも役立つからリンクしておく。 C++で吉里吉里プラグイン書こうと思ってる人には必須。
qrcode.dll QRコード(Wikipedia)を レイヤーに書き込む
Layer.drawQRCode(value, ecLevel=0, qrVersion=0, autoExtent=true, maskPattern=-1);
指定の値を表すQRコードを、レイヤーのサイズを調整して書き込む
registory.dll Windowsのレジストリに値を書き込む
System.writeRegValue(key, value);
レジストリにデータを書き込む
saveStruct.dll Array/DictionaryのsaveStruct()を、unicodeではなく現在のコードページまたはUTF-8で出力する
Array.save2(filename, utf8=false,newline=0);
Array.save()に準じる形式でデータを保存する
Array.saveStruct2(filename, utf8=false,newline=0);
Array.saveStruct()に準じる形式でデータを保存する
Array.toStructString(newline=0);
Array.saveStruct()に準じる形式の文字列を返す
Dictionary.saveStruct2(filename, utf8=false,newline=0);
Dictionary.saveStruct()に準じる形式でデータを保存する
Dictionary.toStructString(newline=0);
Dictionary.saveStruct()に準じる形式の文字列を返す
scriptsEx.dll Scriptsクラスを拡張し、TJSスクリプトを扱う上で便利な機能を追加する
Scripts.getObjectKeys(obj));
オブジェクトのメンバ一覧を配列で返す
Scripts.getObjectCount(obj);
オブジェクトのメンバ個数を返す
Scripts.getObjectContext(obj);
オブジェクトのコンテキストを返す
Scripts.isNullContext(obj);
オブジェクトのコンテキストがNullかどうか調べる
Scripts.equalStruct(obj1, obj2);
オブジェクト同士を再帰的に比較する
Scripts.equalStructNumericLoose(obj1, obj2);
オブジェクト同士を再帰的に比較する。数値はあいまい(0 == 0.0など)に比較される
Scripts.foreach(obj, func, args*);
オブジェクトのメンバそれぞれに対し、func(メンバ名, 値, args*)を呼び出す
Scripts.getMD5HashString(octet);
octetのMD5sum値を取得する
Scripts.clone(obj);
オブジェクトを(参照ではなく)コピーする
shellExecute.dll 外部プログラム実行+実行完了検知
Window.shellExecute(target, param);
バックグランドで外部プログラムを実行する
Window.terminateProcess(process, endCode);
実行中の外部プロセスを終了する
Window.onShellExecuted(process, endCode);
外部プログラム終了時に呼ばれる
Window.commandExecute(target, param);
コマンドラインからプログラムを実行する
Window.onCommandLineOutput(process, text);
コマンドラインに出力があるたびに呼ばれる
System.commandExecute(target, param, timeout=0);
コマンドラインからプログラムを実行する(ただしフォアグラウンド実行)
shrinkCopy.dll 面積平均法を使った高品質な縮小コピーメソッドをLayerクラスに追加
Layer.shrinkCopy(dleft, dtop, dwidth, dheight, src, sleft, stop, swidth, sheight);
縮小コピー
Layer.shrinkCopyFast(dleft, dtop, dwidth, dheight, src, sleft, stop, swidth, sheight);
品質が落ちるがちょっと早い縮小コピー
sigcheck.dll ファイルの署名チェック関数をWindowクラスに追加する
Window.checkSignature(filename, publickey, info);
ファイルの署名をチェックする。バックグランドでチェックし、終了すると onCheckSignatureDone イベントが発生。
Window.cancelCheckSignature(handler);
ファイルの署名チェックを中断する。onCheckSignatureDone()が呼ばれる。
Window.stopCheckSignature(handler);
ファイルの署名チェックを停止する。onCheckSignatureDone()は呼ばれない
Window.onCheckSignatureProgress(handler, info, percent);
署名チェック中に進捗状況を表示するために呼ばれるコールバック
Window.onCheckSignatureDone(handler, info, result, errmsg);
署名チェック中終了時に呼ばれるコールバック
sqlite3.dll 組み込みDB、SQLite (Wikipedia)を 吉里吉里から使用する
squirrel.dll Squirrel (Wikipedia)を 吉里吉里上に実装する
stdio.dll Systemクラスへ標準入出力を扱う関数を追加する
System.stdioState;
標準入出力の接続状態を示す(1:標準入力、2:標準出力、3:標準エラー出力、の論理和)
System.attachConsole(bind=0);
既存のコンソールに、標準入出力を接続する
System.allocConsole(bind=0);
コンソールを作成し、標準出力を接続する
System.freeConsole();
コンソールから切り離す
System.stdin(utf8=false);
標準入力からテキスト入力を得る。入力完了までブロックされる
System.stdout(string, utf8=false);
標準出力に文字列を出力する
System.stderr(string, utf8=false);
標準エラー出力に文字列を出力する
System.flush();
標準出力をフラッシュする(キャッシュされていた文字が表示される)
systemEx.dll Systemクラスを拡張する
System.writeRegValue(key, value);
レジストリにデータを書き込む
System.readEnvValue(name);
環境変数を取得する
System.writeEnvValue(name, value);
環境変数を設定する
System.expandEnvString(text);
文字列内の「%〜%」を環境変数の値に置換する
System.urlencode(str, utf8=true);
URLをEncodeする
System.urldecode(str, utf8=true);
URLをDecodeする
System.getAboutString();
Ctrl+F12で表示される環境情報テキストを取得する
System.confirm(text, caption='', window=void);
確認用メッセージ窓(Yes/No)を表示する。Yesが押されるとTrue、 そうでなければfalseが返る
tftSave.dll レンダリング済のフォントデータ(*.tft)を作成する
varfile.dll 吉里吉里の変数を参照可能なファイルシステムを提供する。 var://./辞書変数名/辞書変数名/.../変数名 で参照できるようになる。
videoEncoder.dll LayerをWMV形式のムービーとして記録する
videoEncoder.videoQuality=50
動画品質
videoEncoder.secondPerKey=5
キーフレーム間隔(秒)
videoEncoder.videoTimeScale=1
フレームスケール(分子)
videoEncoder.videoTimeRate=30
フレームスケール(分母)
videoEncoder.videoWidth=640
動画の横幅
videoEncoder.videoHeight=480
動画の縦幅
videoEncoder.open(filename);
動画を保存用にオープン
videoEncoder.encodeVideoSample(layer);
保存するレイヤを指定
videoEncoder.close();
動画をクローズ
win32dialog.dll Windowsネイティブダイアログを表示する(未完成で使えない模様)
win32ole.dll 吉里吉里からOLE/ActiveXが使用できるようにする
windowEx.dll Windowクラスを拡張し、サイズ変更やウィンドウ最大化時にイベントを発生させる。マルチモニタ対応 Windowクラスに以下の関数を追加する。
Window.maximize();
ウィンドウを最大化する。最大化ボタンを押した場合と同じ
Window.maximized;
ウィンドウが最大化されているかどうかを取得する
Window.minimize();
ウィンドウを最小化する。[_]ボタンを押した場合と同じ
Window.minimized;
ウィンドウが最小化されているかどうかを取得する
Window.showRestore();
ウィンドウ最大化・最小化から復帰させる
Window.resetWindowIcon();
ウィンドウのタイトルバーアイコンを再設定する
Window.getClientRect();
クライアントウィンドウ領域(ウィンドウ枠やメニューを除いた領域)の大きさを取得する
Window.getWindowRect();
ウィンドウ領域(ウィンドウ枠やメニューを含む領域)の大きさを取得する
Window.getNormalRect(nofix=false);
最大・最小化していない場合のウィンドウ領域の大きさを取得する
Window.bringTo(win="top", activate=false);
ウィンドウの表示優先順位とactive状態を変更する。Window.sendToBack(); はこの関数を利用してウィンドウを背面表示する
Window.registerExEvent();
拡張イベントを有効にする。拡張イベントは以下の通りで、それぞれ右の説明の場合に 呼ばれる。
  • onMaximizeQuery() 最大化を許可するか確認時
  • onMaximize() 最大化直後
  • onMinimize() 最小化(タスクバー収納時は除く)時
  • onShow() ウィンドウ表示(タスクバーから復帰時)
  • onHide() ウィンドウ非表示(タスクバー収納時)
  • onMoveSizeBegin() リサイズ・移動開始時
  • onMoveSizeEnd() リサイズ・移動終了時
  • onMoving() 移動中
  • onMove() 移動後の位置確定時
  • onResizing() リサイズ中
Window.onDisplayChanged();
ディスプレイ解像度度・色数・マルチモニタ設定などが変更された時に呼ばれる
Window.onEnterMenuLoop();
Window.onExitMenuLoop()
ウィンドウのメニュー操作開始・終了時に呼ばれる
Window.onScreenSave();
Window.onMonitorPower(mode)
スクリーンセーバー開始時、モニタ電源状態変更時に呼ばれる
Window.disableResizing;
リサイズを抑制するかどうか。true:リサイズさせない
Window.onActivateChanged(active, minimize);
アクティブ状態が変化した時に呼ばれる
Window.onNcMouseMove(x,y,ht);
Window.onNcMouseUp(x,y,btn,ht);
Window.onNcMouseDown(x,y,btn,ht);
Window.onNcMouseLeave();
クライアント領域外でマウスイベントが発生した時に呼ばれる
Window.ncHitTest(x,y);
与えたスクリーン座標のx,yがクライアントのどの位置にあるか調査
Window.exSystemMenu;
指定したMenuItemをシステムメニューに追加する
MenuItem.rightJustify;
メニューバーを左右に分割する(true:そこより左は右端に配置)
MenuItem.bmpChecked;
MenuItem.bmpUnchecked
メニューをチェックした時の「レ」アイコン。0:デフォルト
popupEx(flags, x=cursorX, y=cursorY, hwnd=this.root.window, rect, menulist=this.children);
ポップアップメニューを設定する
Console.*();
デバッグコンソール用の設定。通常使わないので説明を省略する。
Pad.registerExEvent();
Padクラスを拡張する。現在はonClose()が追加されるのみ
System.getDisplayMonitors();
接続されているモニタ情報の一覧を取得する。引数でx,y,w,hを与えると、これに交わるモニタを列挙する
System.getMonitorInfo();
モニタ情報を取得する。引数なしでプライマリモニタ、x,y を指定するとその座標のモニタ、などを返す。他にもあるのでManual参照
System.setCursorPos(x,y);
System.getCursorPos()
スクリーン位置でマウスカーソルを得る・設定する
System.getSystemMetrics(index)
システムのメトリクス情報(SM_*)を取得する
System.readEnvValue(name)
環境変数を取得する
System.expandEnvString(text)
文字列内の%〜%を環境変数で展開したものを返す
Scripts.setEvalErrorLog(enabled)
Scripts.eval()でのエラー発生時のログ出力を制御する。enabled=false:抑制する
windowExProgress.dll 吉里吉里がブロック中でもプログレス表示できるようWindowクラスに機能追加
wsh.dll 吉里吉里の Windows Script Host(Wikipedia) 拡張
Scripts.addProgId(ext, progId);
拡張子とProgIdの組を追加登録する
Scripts.execWSH(script, extOrProgIdOrCLSID);
WSHスクリプトを実行する
Scripts.execStorageWSH(storage, extOrProgIdOrCLSID);
ストレージ上のWSHスクリプトを実行する
wuvorbis.dll ogg vorvis (Wikipedia)を再生する 機能を追加する。 マニュアルとかReadmeが無いんだけど…。でも、まぁ ここに詳しい説明があるので見ればわかるかしらん。 実際は、このdllを読み込むだけでKAG上からoggが音楽ファイルとして 扱えるようになる。

■おわりに

スゲーいっぱいあるな!ちうかまだこの他にも新しいのが追加されてるね。 これらを有効活用すればもうスバらしい機能をスゲー簡単に作れること 相違なし。…なのにメジャーにならないこの不思議。

いや、理由は分かってて、マニュアル少なすぎな上にどこに書いてあるか よくわからなくて、使う人に厳しすぎるのが原因。中途半端なのも多いし、 作り散らかしたってのはこういうのを言うんだろうなぁ。せっかくの スバらしいコードなのに実に勿体ない。吉里吉里ってこういうの多いよね。 ちゃんと整理してみんながアクセスできるようにしておけば、もっともっと みんな喜ぶのに。