.net2.0的 Mscomm在XP运行失败问题

问题现象:

一个.net2.0编写的程序,在win7运行正常,xp下运行时没有任何反应。但xp的framework2.0环境没有问题。

把Mscomm通过regsvr32注册、添加注册表,故障依旧。不断精简程序调试,发现程序在实例化MsComm时就没反应了。
解决方案:
经测试,Xp下使用AxMSCommLib.AxMSComm正常,把MsComm换成AxMSCommLib.AxMSComm后,程序正常。

需要注意的是:
1.代码生成的控件要加到界面上
((System.ComponentModel.ISupportInitialize)(com.Comm)).BeginInit();
this.Controls.Add(com.Comm);
((System.ComponentModel.ISupportInitialize)(com.Comm)).EndInit();
2.修改事件:
//com.OnComm += new MSCommLib.DMSCommEvents_OnCommEventHandler(this.OnComm1);
com.OnComm += new EventHandler(this.OnComm1);

PS:

最后还是有无法解决的问题,换成了SerialPort,兼容性更好些。

你可能感兴趣的:(.net2.0的 Mscomm在XP运行失败问题)