2

この 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 Edition の手順 http://forum.skype.com/index.php?showtopic=54549

HWND_BROADCAST を使用した以前の呼び出しは機能し、Skype は期待どおりに応答するため、Skype がインストールされ、正常に動作していることがわかります。

コードにあるように、使用するハンドルは Skype Reply メッセージの wParam 値です。これはゼロではありませんが、SendMessage 以外でテストする方法があるかどうかはわかりません。

この C++ コード例 (zip ダウンロードを参照) からコンパイルされたアプリは実際に動作するので、困惑しています。メッセージを UTF8 でエンコードし、アプリで COPYDATASTRUCT のインスタンスを作成し、それを入力してから、lparam の COPYDATASTRUCT ポインターを使用して SendMessage() を呼び出します。Skype は応答せず、従いません。ここで明らかな何かが欠けていますか?

4

2 に答える 2

2

これを参照してください: http://forum.skype.com/index.php?showtopic=790491

于 2011-03-12T21:05:48.860 に答える
1

これは既知のバグです。解決策は、WM_COPYDATA を受け取るたびに Windows プロシージャから常に 1 を返さなければならないことです。

于 2009-08-04T23:59:13.860 に答える