|
v9.22でやる必要はないですが、せっかく hidemaru.getFunctionIdという仕組みがあ
るのであれば、
WebView2のpostMessage経由で関数を呼び出せるのと同様に、
C++やC#などで作成したdllから呼び出せるようにしてはどうでしょうか。
postMessage とは異なり、受け取りをやや柔軟にすることが出来るので、
function aaa(arg: string): string
のような、文字列を1つ引数とし、文字列を1つ返す関数に対応すると。
let id = hidemaru.getFunctionId(aaa);
したidを何らかの自己手段でdllへと伝達して、
GLOBALHANDLE* Hidemaru_DoFunctionById(id, wchar* param);
(GLOBALHANDLEがnullなら呼び出しに失敗したか、登録IDの関数がすでに有効ではな
いなど)
みたいな形です。
これ1本あるだけで、javascript層で薄いラップ関数を各自が用意すれば、
dllから各種の同期・非同期の関数が呼び出し、返りの値も得ることが
できるようになるため、
一気に大量(というかほぼ全て)の関数をHidemaru_****に提供したも
同然なほどの効果があるのではないでしょうか。
|
|