HWND WindowFromPoint(
[in] POINT Point
);
but I tried several methods, all failed to get a correct result.
how to assign the Int64 parameter Point? can you experts help to solver the problem? many many thanks!!!
Code: Select all
function windowFromPoint(nPosX, nPosY){
//var lpPoint = AkelPad.MemAlloc(8 sizeof(POINT)*/);
//AkelPad.SendMessage(hWndEdit, 3190 /*AEM_GETCARETPOS*/, lpPoint, 0);
//oSys.Call("User32::ClientToScreen", hWndEdit, lpPoint);
//nX = AkelPad.MemRead(_PtrAdd(lpPoint, 0), 3 /*DT_DWORD*/);
//nY = AkelPad.MemRead(_PtrAdd(lpPoint, 4), 3 /*DT_DWORD);
//var hwnd = oSys.Call("User32::WindowFromPoint",lpPoint);
//var hwnd = oSys.Call("User32::WindowFromPoint", 0x000004370000077F); //nPosX=1919 nPosY=1079
//var hwnd = oSys.Call("User32::WindowFromPoint",parseInt('0x000004370000077F'))
var hwnd = oSys.Call("User32::WindowFromPoint", (nPosX&0x00000000FFFFFFFF)|(nPosY << 32));
var hwnd = oSys.Call("User32::WindowFromPoint", nPosX|(nPosY << 32));
var hParent = oSys.Call("User32::GetAncestor", hwnd, 2);
return hParent
}