English help on website



DLL呼び出し機能(Ver9.35対応版)
目次− DLL呼び出し機能
 DLL呼び出しの機能があります。
 使い方は、
loaddll "sample.dll";
if( !result ) {
    message "sample.dllのロードに失敗しました。";
    endmacro;
}
#a = dllfunc( "SampleFunc", 10 );
message str(#a);
freedll;
 のような感じになります。


プロセスに1つだけのDLLを扱う場合
loaddll(文)
パラメータで指定されたdllをロードします。

freedll(文)
loaddllしたDLLを解放します。

dllfunc(関数)
DLLの関数を呼び出します。DLLからは数値型の値が返されます。

dllfuncstr(関数)
DLL内の関数を呼び出します。DLLからは文字列型の値が返されます。

dllfuncw(関数)(V8.00以降)
dllfuncのUnicode版です。

dllfuncstrw(関数)(V8.00以降)
dllfuncstrのUnicode版です。

loaddllfile(キーワード)
ロードされているDLLのファイル名を表します。

setdlldetachfunc(文)(V8.66以降)
DLLが解放されるタイミングで呼び出される関数を設定します。

dllfuncexist(関数)(V8.75以降)
DLLに関数名が存在するかをチェックします。

keepdll(文)(V8.98以降)
マクロが終了した後にDLLを解放するかどうかを指定します。


複数のDLLを扱う場合(V8.00以降)
loaddll(関数)
パラメータで指定されたdllをロードします。
複数のDLLを同時に扱うことができます。

freedll(文)
loaddll関数で読み込んだDLLを解放します。

dllfunc(関数)
DLLの関数を呼び出します。DLLからは数値型の値が返されます。

dllfuncstr(関数)
DLL内の関数を呼び出します。DLLからは文字列型の値が返されます。

dllfuncw(関数)
dllfuncのUnicode版です。

dllfuncstrw(関数)
dllfuncstrのUnicode版です。

getloaddllfile(関数)
DLLのファイル名を返します。

setdlldetachfunc(文)(V8.66以降)
DLLが解放されるタイミングで呼び出される関数を設定します。

dllfuncexist(関数)(V8.75以降)
DLLに関数名が存在するかをチェックします。

keepdll(文)(V8.98以降)
マクロが終了した後にDLLを解放するかどうかを指定します。


DLL側の関数の作り方

DLL側から秀丸エディタの関数呼び出し