LRESULT result = ::SendMessage(hWnd, s_MaxGetTaskInterface, (WPARAM)&pUnkReturn, 0);调用后的result取值为0
我希望它返回一个有效的值pUnkReturn,但它返回的是一个空值。
本次通话前的必要信息:
const UINT CMotionUtils::s_MaxGetTaskInterface = RegisterWindowMessage(_T("NI:Max:GetTaskInterface"));我在这里得到的s_MaxGetTaskInterface的值是49896。
hWnd的值也是适当的。我用Spy++ ( Visual Studio tool )检查了这一点。
Microft Spy++ Messages窗口显示此窗口的以下内容。
<00001> 009F067C S message:0xC2E8 [Registered:"NI:Max:GetTaskInterface"]wParam:0224C2D0 lParam:00000000
<00002> 009F067C S message:0xC2E8 [Registered:"NI:Max:GetTaskInterface"]lResult:00000000请在调用后帮助我获取存储在pUnkReturn中的有效地址。
发布于 2008-09-19 10:37:23
我认为& in &pUnkReturn是必需的,基于匈牙利语前缀。我希望pUnkReturn的类型是IUnknown*。消息接收方将提供IUnknown*。它将存储IUnknown*的地址是一个IUnknown**。因此,这段代码传入&pUnkReturn,消息接收者写入*(IUnknown**)wParam。
发布于 2008-11-07 17:04:54
目的hWnd是否在同一进程中?否则,您将无法通过消息传递(或返回)指针。请注意,Windows实现了内置消息的封送处理。
发布于 2008-09-19 09:21:40
当我在谷歌上搜索NI:Max:GetTaskInterface的时候,我什么也找不到。通常,窗口如何处理给定的消息完全取决于相关的窗口。窗口(由hWnd指定)是否支持NI:Max:GetTaskInterface消息?
https://stackoverflow.com/questions/100678
复制相似问题