C++ Skype原始API(非COM API)发送消息问题

C++ Skype原始API(非COM API)发送消息问题,c++,winapi,skype,C++,Winapi,Skype,在将这个控制台示例转换为完整的windows对话框实现时,我遇到了一个非常“简单的问题”。SendMessage()(第283行)返回零, GetLastError显示0x578-无效的窗口句柄 () C++2005 Studio快速版说明 上一次使用HWND_广播的呼叫工作正常,Skype回复正常,因此我知道Skype已安装且工作正常 我使用的句柄是Skype回复消息中的wParam值,如代码中所示。这是非零,但我不确定是否有其他方法可以测试它,而不是使用SendMessage 从这个C+

在将这个控制台示例转换为完整的windows对话框实现时,我遇到了一个非常“简单的问题”。SendMessage()(第283行)返回零, GetLastError显示0x578-无效的窗口句柄

()

C++2005 Studio快速版说明

上一次使用HWND_广播的呼叫工作正常,Skype回复正常,因此我知道Skype已安装且工作正常

我使用的句柄是Skype回复消息中的wParam值,如代码中所示。这是非零,但我不确定是否有其他方法可以测试它,而不是使用SendMessage


从这个C++代码示例编译的应用程序(见zip下载)实际上是有效的,所以我被难住了。我用UTF8对消息进行编码,并在我的应用程序中创建一个COPYDATASTRUCT实例,填充它,然后在LPRAM中用COPYDATASTRUCT指针调用SendMessage()。Skype不响应,也不服从。我是否遗漏了一些明显的错误?

这是一个已知的错误,解决方法是每当收到WM_COPYDATA时,您必须始终从windows过程中返回1。

请查看以下内容:

您可以使用IsWindow检查句柄是否是有效窗口。如预期的那样完成这项工作,抱歉,没有一些代码,我无法判断是什么问题。谢谢。这似乎是一个Skype错误报告在这里修复了下一个版本。