0

コーデック料金を節約するために単純なオーディオ再生アプリケーションを作成しているので、WMP ActiveX を使用してすべての音楽ファイルを再生していますが、ActiveX 用のウィンドウを作成する必要があり、ActiveX を作成するスレッドにはメッセージ ループが必要です。ActiveX とウィンドウなしで WMP を使用する方法があるかどうか知りたいですか? 前もって感謝します。

4

1 に答える 1

0

はい、ActiveX コントロールを使用する必要はありません。Project + Add Reference を使用し、Browse タブで c:\windows\system32\wmp.dll を選択します。

しかし、[STAThread] または Thread.SetApartmentState() で初期化されたスレッドと、メッセージ ループ (Application.Run) が本当に必要です。これは、シングル スレッド アパートメント要件を持つ COM サーバー (wmp.dll など) に必要です。COM は、メッセージ ループを使用して呼び出しをマーシャリングし、イベントを生成します。ループがないと、サーバーはデッドロックします。

于 2010-01-29T09:00:27.763 に答える