一度には解決できないのですが
まず HSP3 から AviUtl 拡張編集 へのドロップするコードを作りました。
実行して表示される「実行」ボタンをクリックすると
HSP3 の king_knight.png を AviUtl 拡張編集 の 100, 50 の位置へドロップします。
※NO.4417のサンプル とほぼほぼ同じことをしています。
Win10 1909, HSP3.6beta2, AviUtl 1.00, 拡張編集 0.92 で動作確認済み。
#include "user32.as"
#include "kernel32.as"
#include "hspext.as"
#const NULL 0
#const WM_LBUTTONDOWN 0x201
#const WM_LBUTTONUP 0x202
#const WM_DROPFILES 0x233
#const GMEM_ZEROINIT 0x00
#const GMEM_FIXED 0x40
#define GPTR (GMEM_ZEROINIT | GMEM_FIXED)
button gosub "実行", *act
stop
// 一連の実行
*act
target = _findex()
if target == 0 {
title "拡張編集ウインドウが見つかりません"
return
}
gosub *autodrop
return
// ドロップ先に伝える情報を作成する
*autodrop
x = 100
y = 50
s = dirinfo(5) + "\\king_knight.png"
just = 20 + (strlen(s) + 1) + 1
num = (just + 3) / 4 * 4
GlobalAlloc GPTR, num
addr = stat
dupptr df, addr, num, vartype("int")
df.0 = 20
df.1 = x
df.2 = y
df.3 = 0
df.4 = 0
memcpy df, s, strlen(s), 20, 0
// ドロップの実行
PostMessage target, WM_DROPFILES, addr, NULL
wait 100
GlobalFree addr
return
// ウインドウハンドルを見つける
#defcfunc _findex
aplsel "拡張編集"
if stat != 0 {
return 0
}
fulltitle = refstr
FindWindow NULL, fulltitle
target = stat
return target
ゆくサク のようにカーソルで位置指定というのはもうちょっと実装する必要があります。