Hidemaru_EvalMacro(Ver9.35対応版)
目次−
DLL側から秀丸エディタの関数呼び出し−
Hidemaru_EvalMacro
Hidemaru_EvalMacro関数
BOOL WINAPI Hidemaru_EvalMacro( const WCHAR* pwsz );
pwszで指定するテキストのマクロを実行します。
dllfuncで呼び出されたDLLの中から呼び出すことができます。
マクロ実行中でないときは使えません。
成功時は0以外を返します。
実行するマクロは制約があり、以下のことはできません。
・gotoやbreakで呼び出し元のマクロの実行位置を制御。
・setactivehidemaruなどでマクロ実行対象のアクティブ切り替え。
・execmacroでマクロの呼び出し。
・filter文の変換モジュールの中からの呼び出し。
例(C++) |
#include <windows.h>
extern "C" __declspec( dllexport )
INT_PTR _cdecl DllFuncTest( INT_PTR nHwnd ) {
HINSTANCE hinstExe = GetModuleHandle( NULL );
BOOL (WINAPI* pfnHidemaru_EvalMacro)( const WCHAR* );
(FARPROC&)pfnHidemaru_EvalMacro = GetProcAddress( hinstExe, "Hidemaru_EvalMacro" );
if( pfnHidemaru_EvalMacro ) {
BOOL f = pfnHidemaru_EvalMacro(
L"question \"OK?\";"
L"if(result!=0){"
L" message \"イエス\";"
L"} else {"
L" message \"ノー\";"
L"}"
);
}
return 0;
}
|
参考:
eval
WM_REMOTE_EVALMACRO
Hidemaru_EvalMacro
hidemaru.evalMacro
参考:
/xオプション(秀丸エディタの起動オプションのヘルプ)