Hidemaru_GetStaticVariable(Ver9.35対応版)
目次−
DLL側から秀丸エディタの関数呼び出し−
Hidemaru_GetStaticVariable
Hidemaru_GetStaticVariable関数
HGLOBAL WINAPI Hidemaru_GetStaticVariable( const WCHAR* pwszKey, int nType );
getstaticvariableに相当する文字列値を取得し、メモリ確保して返します。(V9.15以降)
HGLOBALのハンドルはGlobalFreeで解放する必要があります。
失敗したときはNULLを返します。
例:マクロ側
loaddll @"C:\Folder\Test.dll";
setstaticvariable "hoge","hello",0;
#a = dllfunc("DllFuncTest",hidemaruhandle(0));
endmacro;
例:DLL側
#include <windows.h>
extern "C" __declspec( dllexport )
INT_PTR _cdecl DllFuncTest( INT_PTR nHwnd ) {
HINSTANCE hinstExe = GetModuleHandle( NULL );
HGLOBAL (WINAPI* pfnHidemaru_GetStaticVariable)( const WCHAR*, int );
(FARPROC&)pfnHidemaru_GetStaticVariable = GetProcAddress( hinstExe, "Hidemaru_GetStaticVariable" );
if( pfnHidemaru_GetStaticVariable ) {
HGLOBAL hGlobal = pfnHidemaru_GetStaticVariable( L"hoge",0);
if( hGlobal ) {
WCHAR* pwsz = (WCHAR*)GlobalLock( hGlobal );
MessageBoxW( (HWND)nHwnd, pwsz, L"setstaticvariable \"hoge\",xxx,0の内容", MB_OK );
GlobalUnlock( hGlobal );
GlobalFree( hGlobal );
}
}
return 0;
}
参照:
getstaticvariable
Hidemaru_GetStaticVariable
hidemaru.getStaticVariable