Unlha32.DLL, Zip32J.DLL呼び出し関数(TKInfo.dll)(Ver7.33対応版)
LZHファイルを作成したり解凍したりするために、Unlha32.dllおよびZip32J.dllを呼び出す関数を用意しました。
注意:
これらの関数は秀丸メールの32bit版でないと使えません。Unlha32.dllおよびZip32J.dllは32bit版しか用意されてないので、64bit版の秀丸メール上ではそれら32bit版のDLLはロードできず、LoadUnlhaDll関数などでエラーになってしまいます。64bit版/32bit版のどちらの秀丸メールからもZip圧縮できる用のマクロが「秀まるおのホームページ」の「ライブラリ」の中にアップロードされてるので、そちらの利用をお勧めします。
- ■Unlha32.dll用
-
- LoadUnlhaDll
-
返り値は数値、パラメータ無し。
Unlha32.dllをロードします。成功すると1、失敗すると0を返します。
- FreeUnlhaDll
-
返り値もパラメータも無し。
Unlha32.dllを解放します。
- Unlha
-
返り値は数値、パラメータ1が親ウィンドウハンドル、パラメータ2がコマンドライン。
Unlha関数を呼び出します。パラメータ1にはhidemaruhandle(0)を渡し、パラメータ2にlha用のコマンドラインをそのまま渡してください。
返り値は、Unlha32.dllのUnlha関数そのままです。詳しくはそちらを参照ください。
- GetUnlhaResult
-
返り値は文字列、パラメータ無し。
Unlha関数を呼び出した結果文字列を返します。
- ■Zip32J.dll用
-
- LoadZipDll
-
返り値は数値、パラメータ無し。
Zip32J.dllをロードします。成功すると1、失敗すると0を返します。
- FreeZipDll
-
返り値もパラメータも無し。
Zip32J.dllを解放します。
- Zip
-
返り値は数値、パラメータ1が親ウィンドウハンドル、パラメータ2がコマンドライン。
Zip関数を呼び出します。パラメータ1にはhidemaruhandle(0)を渡し、パラメータ2にlha用のコマンドラインをそのまま渡してください。
返り値は、Zip32J.dllのZip関数そのままです。詳しくはそちらを参照ください。
- GetZipResult
-
返り値は文字列、パラメータ無し。
Zip関数を呼び出した結果文字列を返します。
一般には、LoadUnlhaDll関数を呼んでからUnlha関数を呼び、必要に応じてGetUnlhaResult関数で結果文字列を取得して、最後にFreeUnlhaDll関数でDLLを解放すればいいです。
例(LZHファイル) |
if( ! dllfunc("LoadUnlhaDll") ) {
message "Unlha32.dllがインストールされていません。";
endmacro;
}
#n = dllfunc("Unlha", hidemaruhandle(0), "a \"c:\\test.lzh\" abc.txt xyz.txt");
$s = dllfuncstr("GetUnlhaResult");
#n = dllfunc("FreeUnlhaDll");
message $s;
|
例(ZIPファイル) |
if( ! dllfunc("LoadZipDll") ) {
message "Zip32J.dllまたはZIP32.DLLがインストールされていません。";
endmacro;
}
#n = dllfunc("Zip", hidemaruhandle(0), "-j \"c:\\test.zip\" abc.txt xyz.txt");
$s = dllfuncstr("GetZipResult");
#n = dllfunc("FreeZipDll");
message $s;
|