求 ActiveX控件 发送命令获取端口值!! 或者修改一下下面的javascript 打开com口
最近遇到一个asp.net串口连接, 一开始的时候使用了SerialPort, 但是在实施的时候发现了问题, 程序在服务器上,客户端使用是,打开的是服务器端的com口, 现在想实现客户端打开客户端的com口.
初步使用了一下js里的mscomm,可是获取不到数据,com口没能打开, 现求Acticex实现客户端使用本机com口获取数据的 纤细步骤 及代码实现, 谢谢高人啦!!
MScomm 是这样使用的,获取不到数据: 大家看看是不是错误了什么:
<object classid="clsid:648A5600-2C6E-101B-82B6-000000000014" id="MSComm1" name="MSComm1" codebase="../bin/Interop.MSCommLib.dll" type="application/x-oleobject" style="left: 54px; top: 14px " >
<param name="CommPort" value='<%=CommPort %>' />
<param name="DTREnable" value="1" />
<param name="Handshaking" value="0" />
<param name="InBufferSize" value="1024" />
<param name="InputLen" value="0" />
<param name="NullDiscard" value="0" />
<param name="OutBufferSize" value="512" />
<param name="ParityReplace" value="63" />
<param name="RThreshold" value="2" />
<param name="RTSEnable" value="1" />
<param name="BaudRate" value="2400" />
<param name="ParitySetting" value="0" />
<param name="DataBits" value="7" />
<param name="StopBits" value="1" />
<param name="SThreshold" value="1" />
<param name="EOFEnable" value="0" />
<param name="InputMode" value="0" />
<param name="EOFEnable " value="true" />
</object>
function MSComm1_OnComm(id)
{
if(MSComm1.CommEvent==2)//如果是接收事件
{
var s=MSComm1.Input;
if(s!="")
{
self.document.getElementById(id).value=s
}
}
}
function OpenPort(id)
{ MSComm1.commport="com1";
if(MSComm1.PortOpen==true) // MSComm1.PortOpen
{
window.alert ("com口已经打开,已经开始接收数据!请不要重复打开");
}
else
{
try
{
MSComm1.PortOpen=true;
}
catch(e)
{
alert("com口打开失败,com被其他程序占用请检查!!!!!\r如果你确认已将他关闭,请点击确定!!!\r然后五秒后重试!!!!,如果串口总被占用请到web.config\r中更改CommPort的值,然后改变POS机后接的接口!!!!");
setTimeout("document.execCommand('Refresh') ",5000);
}
MSComm1_OnComm(id);
MSComm1.Output="S";//发送命令
MSComm1.CommEvent=2;
MSComm1_OnComm(id);
MSComm1.PortOpen=false;
}
}