Hallo,
Die fertige AktiveX mag ich nicht, weil man ist nicht genug flexibel.
Um per Modem Tel. Nr. zu wählen muss du folgendes String abschicken:
„ATDT“+Nummer+";\r"
Einwahl abbrechen ist gleich der Option Modem trennen mit String
„ATH\r“, was man kann nach dem eigenen Höhrer abnehmen tun.
Beispiel:
void CMeinProgrammDlg:
nTelWahl()
{
CString Tel_Wahl_Nr;
int Nummer = 2345 ; // Tel Nr. zu wählen
HANDLE hCom;
DWORD dwError;
DCB dcb;
int fSuccess;
unsigned long aa;
Tel_Wahl_Nr.Format("%d",Nummer);
Tel_Wahl_Nr = „ATDT“ + Nummer + „;\r“;
hCom = CreateFile(„COM1“,GENERIC_WRITE,0,
NULL,OPEN_EXISTING,0,NULL);
if(hCom ==INVALID_HANDLE_VALUE)
{
dwError = GetLastError();
AfxMessageBox(„ERROR bei öffnen COM PORT“);
}
fSuccess = GetCommState(hCom, &dcb);
dcb.BaudRate = 9600;
dcb.ByteSize = 7;
dcb.fOutxDsrFlow = TRUE;
dcb.fOutxCtsFlow = TRUE;
dcb.fParity = TRUE;
dcb.Parity = ODDPARITY;
dcb.StopBits = ONESTOPBIT;
fSuccess = SetCommState(hCom, &dcb);
if(WriteFile(hCom,Tel_Wahl_Nr.GetBuffer(Tel_Wahl_Nr.GetLength()),
Tel_Wahl_Nr.GetLength(),&aa,0)==0)
AfxMessageBox („fehler“);
CloseHandle(hCom);
}
CreateFile(…) übergibt die benötigte hCom Handle für WriteFile(…)
Es gibt auch ReadFile(…) Funktion. Guck in die Hilfe von Visual C++.
Wenn ich was weiter herauskriege, sage bescheid.
Solltest du noch problemme haben, schicke ich dir ein kleines programm.
Ich hoffe, konnte dir helfen.
viel Spass
Lech