关于MSCOMM32.OCX控件的使用

news/2024/7/11 2:33:51 标签: silverlight, system, microsoft, function, windows, internet

公司的一个产品,SilverLight开发的,要用热敏打印机(COM口的),所以才跟MSCOMM32.ocx打上交道。这玩意儿是有安全漏洞的,所以在XP里,微软已经不提供了,而且,有一个安全补丁,编号忘记了,用来防止IE加载它。也就是说,即使拷贝了文件,注册了,等等,不搞定这个补丁也是不成的。折腾了两天,看了好多网页,终于算是弄好了。下面说下要点。


环境:XP+IE 6

0、先备一个测试文档,如果用IE打开这个文档,并能够驱动打印机,那么说明控件加载没问题。源码在下面。存成一个html文件就行。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="en-us">
<title>Test Print</title>
</head>
<script language="javascript">
 function init(){document.all.printport.PortOpen = true; }
 function doPrint(printmsg){  document.all.printport.Output = printmsg + "\r\n" + "\r\n" + "\r\n" + "\r\n"; }
 function pageEnd(){  
  document.all.printport.PortOpen = false;
 }
</script>
<body  οnlοad='init();' οnunlοad='pageEnd();'>
<form method="POST" action="--WEBBOT-SELF--">
 <p><textarea rows="21" name="S1" cols="86"></textarea></p>
 <p><input type="button" value="Print" name="B1" οnclick='doPrint(document.all.S1.value);'></p>
 <p><object id="printport" classid="clsid:648A5600-2C6E-101B-82B6-000000000014" style="display:none">
  <param name="CommPort" value="1">
  <param name="DTREnable" value="0">
  <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="0">
  <param name="RTSEnable" value="0">
  <param name="BaudRate" value="9600">
  <param name="ParitySetting" value="0">
  <param name="DataBits" value="8">
  <param name="StopBits" value="0">
  <param name="SThreshold" value="0">
  <param name="EOFEnable" value="0">
  <param name="InputMode" value="0">
 </object></p>
</form>
</body>
</html>

1、先导入下面的注册表文件,把安全补丁写入项卸载掉。

Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{648A5600-2C6E-101B-82B6-000000000014}]
[-HKEY_CLASSES_ROOT\Licenses\4250E830-6AC2-11cf-8ADB-00AA00C00905]

2、运行下面的批处理文件,拷贝文件并注册。

copy mscomm*.* %windir%\system32\ /y
Regsvr32 %windir%\system32\mscomm32.ocx /s
Regsvr32 %windir%\system32\actxprxy.dll /s
Regsvr32 %windir%\system32\shdocvw.dll /s
reg add "HKEY_CLASSES_ROOT\Licenses\4250E830-6AC2-11cf-8ADB-00AA00C00905" /v "" /d "kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun" /f
pause

注意,批处理文件所在目录下一定要放一个MSCOMM32.OCX,否则会报错

3、用IE打开前文第0步的html文件,会有提示,说明有ActiveX控件,同意载入就行了。这时候,应该能够打印了。


其它的:

--有些PC上现在已经没有COM口了,一般的做法是将COM设备通过一个COM转USB的转接头联入PC。此时推荐用自动分配的COM口号,改成别的,有可能驱动不了;

--Windows 7 x64下没弄成;

--XP+IE 7 也没成功;


另外,感谢网上写帖子解决此问题的人,记不住名字了,但上面写的都是从他们的文章里看来的。


http://www.niftyadmin.cn/n/743454.html

相关文章

2021年制冷与空调设备安装修理考试题及制冷与空调设备安装修理模拟考试题库

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 制冷与空调设备安装修理考试题参考答案及制冷与空调设备安装修理考试试题解析是安全生产模拟考试一点通题库老师及制冷与空调设备安装修理操作证已考过的学员汇总&#xff0c;相对有效帮助制冷与空调设备安装修理模拟…

透过百度百科看到什么

我有一次听一个谈话节目&#xff0c;说是“咱们就在这个局域网里慢慢玩&#xff0c;网外面有什么咱们就有什么”云云。背后的话也就是说推特脸谱之类的玩意儿&#xff0c;还有wikipedia和百度。当然&#xff0c;一定程度上没有可比性。比如&#xff0c;你不能拿中国男足们和华尔…

2021-08-05 2021年焊工(高级)考试及焊工(高级)考试技巧

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 焊工&#xff08;高级&#xff09;考试是安全生产模拟考试一点通生成的&#xff0c;焊工&#xff08;高级&#xff09;证模拟考试题库是根据焊工&#xff08;高级&#xff09;最新版教材汇编出焊工&#xff08;高级&a…

从“本地代码东山再起”想到的

没别的&#xff0c;就像说下自己的体会。原文在这里 http://sd.csdn.net/a/20110823/303494.html 先讲个故事。大家都知道钻子这东西。有钻头&#xff0c;有回转机构&#xff0c;一般还得有个手柄。最早的钻当然是手动的。拿一条绳子和一根有韧性的棍子组成一张简易的弓&am…

2021年电工(技师)考试报名及电工(技师)模拟考试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 电工&#xff08;技师&#xff09;考试报名是安全生产模拟考试一点通总题库中生成的一套电工&#xff08;技师&#xff09;模拟考试题&#xff0c;安全生产模拟考试一点通上电工&#xff08;技师&#xff09;作业手机…

小祖宗的产业

最近有同事在折腾孩子上学的事儿&#xff0c;言谈话语之间&#xff0c;我才发现&#xff0c;这个小祖宗的产业&#xff0c;还真不局限于衣服帽子玩具书本和零食。活脱脱就是海上的冰山&#xff1a;水面上白茫茫的一块&#xff0c;水面下还有灰乎乎的更大一片啊。这事儿和其它一…

2021-08-07 2021年升降机司机最新解析及升降机司机考试试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 升降机司机最新解析考前必练&#xff01;安全生产模拟考试一点通每个月更新升降机司机考试试题题目及答案&#xff01;多做几遍&#xff0c;其实通过升降机司机模拟考试题库很简单。 1、【多选题】静载荷试验主要检查…

最简单的“从65码高度落下但不摔死”的方法

最简单&#xff0c;几分钟搞定。 首先得装个插件&#xff0c;能够显示与目标距离的那种。还得有飞行坐骑。 找一个不移动的NPC&#xff0c;选中&#xff0c;此时应该能够显示与其距离&#xff08;但显示的是大概值&#xff0c;好像暴雪并没有提供准确的计算距离的接口&#xf…