SendMessageCallback是user32.dll里的一个函数,能将指定的消息发送到一个或多个窗口,此函数为指定的窗口调用窗口程序,并立即返回;当窗口程序处理完消息后,系统调用指定的回调函数,将消息处理的结果和一个应用程序定义的值传给回调函数。
https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendmessagecallbacka
SendMessageCallbackA函数原型
BOOL SendMessageCallbackA( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, SENDASYNCPROC lpResultCallBack, ULONG_PTR dwData );
发送消息返回SendMessageCallbackA
.版本 2 .DLL命令 发送消息返回_, 整数型, "user32.dll", "SendMessageCallbackA", , SendMessageCallback,该函数最大的特定是可以立即返回。目标窗口函数执行完毕后,会用回调函数的形式将结果返回Long,TRUE表示成功,FALSE表示失败。会设置GetLastError .参数 窗口句柄, 整数型, , hwnd,要接收消息的那个窗口的句柄 .参数 消息标识符, 整数型, , wmsg,消息的标识符 .参数 消息1, 整数型, , wParam,取决于消息 .参数 消息2, 整数型, , lParam,取决于消息 .参数 指定函数地址, 整数型, , lpResultCallBack,指定函数地址。在vb5中可用AddressOf操作符获得 .参数 自定义值, 整数型, , dwData,用户自定义值
易语言调用测试
.版本 2 .程序集 窗口程序集_启动窗口 .子程序 _按钮_测试效果_被单击 信息框 (“测试效果按钮,被点击了!”, 0, ) .子程序 _按钮_发送信息_被单击 发送消息返回_ (按钮_测试效果.取窗口句柄 (), 245, 0, 0, 0, 1)