Re: как правильно определить наличие модема ?
|
От: |
slavik L
|
|
| Дата: | 26.01.04 11:43 |
|
Оценка: |
|
Здравствуйте, alexora, Вы писали:
A>thanx
надежно так (с несколькими попытками запроса статуса):
const char MODEM_CMD[][16] = {
"OK\r"
............
};
WriteFile(hPort, INIT_CMD, lstrlen(INIT_CMD), &dwBytes, NULL);
Sleep(1);
WaitCommEvent(hPort, &dwMask, NULL);
Sleep(3000);
int tmpCnt = 0;
while( tmpCnt++ <= 100 )
{
Sleep(70);
ClearCommError(hPort, &dwMask, &stCS);
Sleep(1);
if( stCS.cbInQue!=0 )
{
ReadFile(hPort, msg, stCS.cbInQue, &dwBytes, NULL);
if( strstr(msg, MODEM_CMD[0])!=0 ){
bInitOk = true;
break;
}
}
if(tmpCnt >= 100)
{
sprintf(msg, "Возможно модем не подключен к COM-порту");
theApp.SetInfoStatusText( msg );
//MessageBox(NULL, msg, "Ошибка", MB_ICONSTOP );
bInitOk = false;
break;
//return false;
}
}
if( bInitOk ) break;
}
if( iInitTryNum>=3 && !bInitOk ){
sprintf(msg, "Возможно модем не подключен к COM-порту");
theApp.SetInfoStatusText( msg );
MessageBox(NULL, msg, "Ошибка", MB_ICONSTOP );
return false;
}
else
theApp.SetInfoStatusText( "Модем проинициалиизрован" );
best regards, black c0de
Пока на собственное сообщение не было ответов, его можно удалить.