F
freddyzhu
Unregistered / Unconfirmed
GUEST, unregistred user!
不知各位可发现如下现象:
在win2000的 计算机管理/设备管理器/端口/通讯端口(com1)/属性/端口设置
内将“每秒位数=9600”修改为“每秒位数=7200”,
再在dos下执行 “mode com1” 发现 其波特率没有改变, 仍为9600。不知是何原因?
另外不知有谁用过利用CommConfigDialog修改串口参数没有?
下面这段程序在win98下修改串口参数成功,但在win2000下不成功,不知可有方法解决?
procedure TForm1.Button1Click(Sender: TObject);
var
Tmpdcb: Tdcb;
TimeOuts: COMMTIMEOUTS;
fpdisp: HWND;
aCommCfg:_commConfig;
asize: Cardinal;
begin
fpdisp:=createfile('COM1',
generic_read or generic_write,
0,
Nil,
open_existing,
file_attribute_normal or file_flag_overlapped,
0);
aSize := sizeof(aCommCfg);
CommConfigDialog('COM1',0,aCommCfg);
GetCommConfig(fpdisp,aCommCfg,asize);
SetCommConfig(fpdisp,acommCfg,aSize);
CommConfigDialog('COM1',0,aCommCfg);
CloseHandle(fpdisp);
end;
还有:
在直接在win2000dos命令符下执行“dir >com1”成功,但在win2000程序内执行
WinExec('command.com /c dir c:/w/p >COM1',sw_Normal);
出错,提示为:
“Write fault error writing device COM1
Abort, Retry, Ignore, Fail?”
请大家勇跃讨论。