Ну смотри я сделал следующим образом, но как была строка пустой так и осталась...
HANDLE hCOM=CreateFile("COM1",GENERIC_WRITE | GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,NULL);
if(hCOM!=INVALID_HANDLE_VALUE){
ShowMessage("COM1 is open OK!");
DWORD nb = 0;
WriteFile(hCOM,"ATI2",edPort->Text.Length(),&nb,0);
if(WaitForSingleObject(hCOM,100) == WAIT_TIMEOUT){
ShowMessage("Время кончилось...");
return;
}
char ch[5];
ch[0] = '\0';
ReadFile(hCOM,ch,5,&nb,0);
ShowMessage(ch);
CloseHandle(hCOM);
}else
ShowMessage("Error Open COM1");
Может я опять наглючил чтонибудь, хотя я непонял какого сообщания нужно ждать я просто ставлю время на WaitForSingleObject 100 мл сек если за это время объект не ответил, то выходим, а если всё нормально, то читам данные.
ЭТО правильно?
|