[c#] utilisation de winmm.dll

cs_terrible Messages postés 12 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 22 mai 2009 - 11 nov. 2008 à 15:25
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 - 12 nov. 2008 à 15:02
Bonjour,
je suis à la recherche d'un tutoriel sur l'utilisation de la dll winmm.dll et plus particulièrement de la fonction mciSendCommand.
En effet je désire obtenir l'identifiant unique d'un cd audio. Identifiant utilisé par FreeDb.
J'ai parcour plusieurs sites dont celui de msdn sans succès. les programmes étaient en c++ et les info non compatible avec mon faible niveau.
A titre d'exemple sur le site de msdn les constantes sont données sans valeur par contre sur d'autre sites des valeurs de la forme &h003& sont assignées à ces constantes

Je compte donc sur vous pour m'éclairer

par avance merci

10 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
11 nov. 2008 à 18:01
Bonjour,
La déclaration se fait comme ceci:

[DllImport ("winmm.dll")]
public static extern int mciSendString(String s1, StringBuilder s2, int l1, int l2);

<hr />
-Blog-
-WebSite-
0
cs_terrible Messages postés 12 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 22 mai 2009
11 nov. 2008 à 18:06
merci pour le réponse  mais mes lacunes porte sur son emploi et la déclaration des structures et des constantes
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
11 nov. 2008 à 18:31
Ca dépend ce que tu veux faire!
Un exemple pour ouvrir la porte du CD

public void OpenCD()
{
    IntPtr ptr = IntPtr.Zero;
    StringBuilder sb= new StringBuilder();
    mciSendString("set CDAudio door open", sb,127, IntPtr.Zero);
}

<hr />
-Blog-
-WebSite-
0
cs_terrible Messages postés 12 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 22 mai 2009
11 nov. 2008 à 18:46
La commande qui m'intéresse est la fonction mciSendCommand qui semble plus complète que mciSendString
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
11 nov. 2008 à 22:04
Salut, les constantes sont definies dans le fichier Mmsystem.h qui se trouve dans le SDK de Windows.
0
cs_terrible Messages postés 12 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 22 mai 2009
11 nov. 2008 à 22:11
Comment avoir accès au sdk windows et avez vous un exemple à me fournir ?
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
12 nov. 2008 à 00:26
Ha oui oups j'ai lu trop vite...
Déclaration:

DllImport ("winmm.dll")]
public static extern int mciSendCommand (uint wDeviceID, uint uMessage,uint dwParam1, ref object dwParam2);

Concernant le header en C, tu peux le trouver ici par exemple:
http://doc.ddart.net/msdn/header/include/mmsystem.h.html

<hr />
-Blog-
-WebSite-
0
cs_terrible Messages postés 12 Date d'inscription samedi 9 octobre 2004 Statut Membre Dernière intervention 22 mai 2009
12 nov. 2008 à 07:20
merci mais n'tant pas un expert de C peux tu me donner un exemple d'emploi  ?
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
12 nov. 2008 à 13:54
L'expert en C, c'est Lutinore, pas moi

<hr />
-Blog-
-WebSite-
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
12 nov. 2008 à 15:02
Expert, peut être pas non plus.. : )

je n'ai jamais utilisé MCI, il me semble que c'est un peu dépassé comme techno..

La documentation :

http://msdn.microsoft.com/en-us/library/ms709461(VS.85).aspx

Exemples en C#

http://www.codeproject.com/KB/audio-video/CDPlayer.aspx
http://www.csharp-home.com/index/tiki-read_article.php?articleId=109
0
Rejoignez-nous