Alexander bin ich: C++: Modem ansprechen - klappt nicht

Beitrag lesen

Juten Abend,

ich schlage mich schon etliche Stunden mit folgendem Problem herum, aber finde einfach keine Lösung:
Ich möchte mit C++ (MS Visual Studio 2010) gerne per Windows-Programm das PC-Modem ansprechen und wählen lassen. Das Modem ist an COM3.
Ich habe jetzt folgenden C++-Code, um das Modem anzusprechen und es eine Rufnr. wählen zu lassen:

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, so daß das WriteFile nicht klappen kann (Fehler 6: "Das Handle ist ungültig."). Ich wüßte nicht, was sonst auf das Modem zugreifen sollte, es kommt jedes Mal, selbst nach PC-Neustart (Win XP). Mit HyperTerminal klappen die AT-Befehle hingegen problemlos.
An einem zweiten PC (auch Win XP) gibt es keine Fehler (Fehler 0: kein Fehler), aber das Modem wählt nicht, es tut "nichts". Auch an diesem PC ist das Modem an COM3 und mit HyperTerminal funktioniert es.

Ich weiß echt nicht mehr weiter, hat jemand einen hilfreichen Rat für mich?

Verzweifelte Grüße
Alexander