在将此 CONSOLE 示例转换为完整的 Windows 对话框实现时,我遇到了一个非常“简单的问题”。 SendMessage()(第 283 行)返回零, GetLastError 显示 0x578 - 无效的窗口句柄。
http://read.pudn.com/downloads51/sourcecode/windows/multimedia/175678/msgapitest.cpp__.htm (https://developer.skype.com/Download/Sample...example_win.zip)
C++ 2005 Studio Express 版使用说明 http://forum.skype.com/index.php?showtopic=54549
之前使用 HWND_BROADCAST 的调用正常工作,并且 Skype 按预期进行回复,因此我知道 Skype 已安装并正常工作。
我使用的句柄是 Skype Reply 消息中的 wParam 值,如代码中所示。这是非零,但我不确定除了使用 SendMessage 之外是否还有其他方法可以测试它。
从这个 C++ 代码示例(参见 zip 下载)编译的应用程序确实可以工作,所以我很困惑。我使用 UTF8 对消息进行编码,并在应用程序中创建 COPYDATASTRUCT 的实例,填充它,然后使用 lparam 中的 COPYDATASTRUCT 指针调用 SendMessage()。 Skype 既不回应也不服从。我在这里遗漏了一些明显的东西吗?
最佳答案
关于c++ - Skype Raw API(非 COM API)发送消息问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/817781/