2010-01-29 5 views
0

J'écris une application de lecture audio simple, pour économiser les frais de codec, donc nous utilisons WMP ActiveX pour lire tous les fichiers musicaux, mais il doit créer une fenêtre pour ActiveX, et le thread de création de l'ActiveX devrait avoir une boucle de message. Je voudrais savoir s'il y a un moyen pour WMP sans ActiveX et Window? Merci d'avance.Comment utiliser le moteur WMP sans fenêtre

Répondre

0

Oui, vous n'avez pas besoin d'utiliser le contrôle ActiveX. Il suffit d'utiliser Project + Ajouter une référence, onglet Parcourir, sélectionnez c: \ windows \ system32 \ wmp.dll

Mais vous avez vraiment besoin d'un thread qui est initialisé avec [STAThread] ou Thread.SetApartmentState() et une boucle de message (Application.Run). Est requis pour les serveurs COM (comme wmp.dll) qui ont une exigence Single Threaded Apartment. COM utilise la boucle de messages pour rassembler les appels et générer des événements. Sans boucle, le serveur va se bloquer.

Questions connexes