Quantcast
Channel: AutoHotkey Community
Viewing all articles
Browse latest Browse all 579

Ask for Help (v2) • Re: Get the return value from TC by SendMessage

$
0
0
It is supposed to set a message receiver. :D

CODE:

AcSide:=TC_GetActiveSide()
MsgBox AcSide

TC_GetActiveSide()
{
;https://wincmd.ru/forum/viewtopic.php?p=110848&sid=0dfde01723b39e508e96d62c00a7a9b5
If WinExist("ahk_class TTOTAL_CMD") ;&& WinActive("ahk_class TTOTAL_CMD")
{
OnMessage(0x4a, TC_Receive_WM_COPYDATA) ; 0x4a is WM_COPYDATA
TC_Send_WM_COPYDATA(cmd:="A")
return retVal
}
else
return "TC does NOT exist"
}

TC_Send_WM_COPYDATA(cmd){

Critical
if(!RegExMatch(cmd, "^(A|[LRST][PCIN]?)$"))
return
static dwData:=Ord("G") + 256 * Ord("W")
static WM_COPYDATA := 0x4A
cbData := Buffer(StrPut(cmd, 'CP0'))
StrPut(cmd, cbData, 'CP0')
CopyDataStruct:=Buffer(A_PtrSize * 3)
NumPut('Ptr', dwData, 'Ptr', cbData.size, 'Ptr', cbData.ptr, COPYDATASTRUCT)
MsgResult:=SendMessage(WM_COPYDATA, A_ScriptHwnd, CopyDataStruct, , "ahk_class TTOTAL_CMD")
return MsgResult
}

TC_Receive_WM_COPYDATA(wParam, lParam, msg, hwnd)
{
global retVal
PtrPos:=NumGet(lParam + A_PtrSize * 2,0,"Ptr")
retVal:=StrGet(PtrPos)
return 1
}

Statistics: Posted by valuex — Today, 11:03



Viewing all articles
Browse latest Browse all 579

Trending Articles