D
dxj1976
Unregistered / Unconfirmed
GUEST, unregistred user!
Temp:='COM6';<br> hComm:=CreateFile(PChar(Temp), GENERIC_READ or GENERIC_WRITE,<br> 0, nil, OPEN_EXISTING, 0, 0);// 打开COM<br>[red]【选择的是串口三以上的口就会触发以下代码】[/red]<br> if (hComm = INVALID_HANDLE_VALUE) then<br> begin//如果COM 未打开<br> MessageBox (0, '打开通信端口错误!!','',MB_OK);<br> exit;<br> end;<br><br> GetCommState(hComm,cc.dcb); // 得知目前COM 的状态<br> cc.dcb.BaudRate:=CBR_9600; // 设置波特率为9600<br> cc.dcb.ByteSize:=8; //字节为 8 bit<br> cc.dcb.Parity:=NOPARITY; // Parity 为 None<br> cc.dcb.StopBits:=ONESTOPBIT;// 1 个Stop bit<br><br> if not SetCommState(hComm, cc.dcb) then begin// 设置COM 的状态<br> MessageBox (0, '通信端口设置错误!!!','',MB_OK);<br> CloseHandle(hComm);//关闭通信端口<br> exit;<br> end;<br>这是在DELPHI7里打开串口的一段代码,当temp的值是“COM1、COM2、 COM3”时打开串口正常,如果是三口以上的串口则提示“打开通信端口错误”。实际我的计算机在设备管理器里只能看到三个串口,其中有一个是MODEM的。请高手尽快解决,我在线等待。谢谢