Unlha32.DLL, Zip32J.DLL呼び出し関数(TKInfo.dll)(Ver5.78対応版)
 LZHファイルを作成したり解凍したりするために、Unlha32.dllおよびZip32J.dllを呼び出す関数を用意しました。
■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;

戻る