Der Martin: C++: Modem ansprechen - klappt nicht

Beitrag lesen

Hallo,

HANDLE hSerial = CreateFile(TEXT("COM3"), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
cout << GetLastError() << "\n";
DWORD bytesWritten = 0;
WriteFile(hSerial, "ATDT12345678\r", strlen("ATDT12345678\r"), &bytesWritten, 0);
cout << GetLastError() << "\n";

Nun kriege ich aber nach dem CreateFile-Befehl Fehler 32 ("Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird.") angezeigt

dann wird das Modem oder die Schnittstelle von einem anderen Prozess benutzt. ;-)

Ich wüßte nicht, was sonst auf das Modem zugreifen sollte, es kommt jedes Mal, selbst nach PC-Neustart (Win XP).

Eventuell der Fax Service von XP?

Mit HyperTerminal klappen die AT-Befehle hingegen problemlos.

Hyperterm hat vielleicht das Insiderwissen, sich mit dem Fax Service zu arrangieren.

An einem zweiten PC (auch Win XP) gibt es keine Fehler (Fehler 0: kein Fehler), aber das Modem wählt nicht, es tut "nichts".

Dann schließ mal probehalber einen zweiten PC anstatt des Modems an, und überprüfe mit einem Terminal auf diesem Rechner, ob der AT-Befehl auch wirklich ausgegeben wird.
Wenn nicht, hast du immer noch ein internes Software-Problem; wenn doch, zickt das Modem selbst.

So long,
 Martin

--
Soziologen sind nützlich, aber keiner will sie haben.
Bei Informatikern ist es gerade umgekehrt.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(