GetCaretPos では無理でした。すみません。
せっかく作ったので _WwG のウィンドウハンドルを取得するサンプルを置いておきます。
MS Word 2007 用ですので、ほかのバージョンでは少しウィンドウ構造が違うかもしれません。
#include "user32.as"
#define GW_HWNDFIRST 0
#define GW_HWNDLAST 1
#define GW_HWNDNEXT 2
#define GW_HWNDPREV 3
#define GW_OWNER 4
#define GW_CHILD 5
sdim szName, 256 // クラス名
// 1.ワードのウィンドウハンドルを取得
class="OpusApp"
FindWindow class, 0
hwnd_Word= stat
// 2.クラス名「_WwF」のウィンドウハンドルを取得
repeat
if (cnt == 0) {
GetWindow hwnd_Word, GW_CHILD : hwnd_Child=stat // OpusAppの最初の子ウィンドウのハンドルを取得
} else {
GetWindow hwnd_Child, GW_HWNDNEXT : hwnd_Child = stat // 次の子ウィンドウのハンドルを取得
}
if (hwnd_Child == 0) : dialog "_WwF が見つかりませんでした" : end
GetClassName hwnd_Child, varptr(szName), 256 // ClassNameを取得
if (szName == "_WwF" ) : hwnd_WwF = hwnd_child : break
loop
print szName + " のウィンドウハンドル = "+hwnd_WwF
// 3.クラス名「_WwB」のウィンドウハンドルを取得
repeat
if (cnt == 0) {
GetWindow hwnd_WwF, GW_CHILD : hwnd_Child = stat // _WwFの最初の子ウィンドウのハンドルを取得
} else {
GetWindow hwnd_Child, GW_HWNDNEXT : hwnd_Child = stat // 次の子ウィンドウのハンドルを取得
}
if (hwnd_Child == 0) : dialog "_WwB が見つかりませんでした" : end
GetClassName hwnd_Child, varptr(szName), 256 // ClassNameを取得
if (szName == "_WwB" ) : hwnd_WwB = hwnd_Child : break
loop
print szName + " のウィンドウハンドル = "+hwnd_WwB
// 4.クラス名「_WwG」のウィンドウハンドルを取得
repeat
if (cnt == 0) {
GetWindow hwnd_WwB, GW_CHILD : hwnd_Child = stat // _WwBの最初の子ウィンドウのハンドルを取得
} else {
GetWindow hwnd_Child, GW_HWNDNEXT : hwnd_Child = stat // 次の子ウィンドウのハンドルを取得
}
if (hwnd_Child == 0) : dialog "_WwG が見つかりませんでした" : end
GetClassName hwnd_Child, varptr(szName), 256 // ClassNameを取得
if (szName == "_WwG" ) : hwnd_WwG = hwnd_Child : break
loop
print szName + " のウィンドウハンドル = "+hwnd_WwG
stop