Je vois cette question est plutôt ancienne, mais je me bats avec mon propre modem avec les mêmes raisons. J'utilise C# atm pour accéder à mon propre modem.
Leur façon dont je me suis connecté au modem était comme mentionné précédemment System.IO.Ports.SerialPort
. Vous devez indiquer à quel port COM se connecter.
En supposant que vous avez des pilotes standard pour le modem installé et il est connecté à l'ordinateur, vous pouvez obtenir une liste arrière des ports COM ouverts à l'aide:
string[] com_ports = SerialPort.GetPortNames();
En supposant que vous souhaitez vous connecter au premier port COM à partir du tableau ci-dessus. L'ouverture d'un port est un simple:
SerialPort port = new SerialPort();
port.portname = com_ports[0];
// ... Insert other port parameters
port.Open();
commandes d'écriture au modem est aussi SIMPLES que:
port.write("some command");
Et la réponse est comming retour sur:
String response = port.ReadExisting();
.. Rappelez-vous juste ajoutez "\r"
à la fin de toutes les commandes au modem. Il m'a fallu un jour pour savoir, pourquoi-o-pourquoi mon modem ne répondait pas à ma commande ... :-)
Pourriez-vous fournir un peu plus de détails? Plus précisément quel modèle GSM (marque/modèle), quelles interfaces vous avez à travers le code (bibliothèque .NET/COM Interop) etc. –