为什么VB.NET中COM口自动获取到了COM10及以上就不能了呢?

问题描述

新手请多关照诸位大神们都知道Win7里面是可以修改COM口的具体值的,我在测试我的可用COM口自动检测程序时,发现在修改到COM10及以上就检测不到了,求解?程序如下ThanksalotPublicSharedFunctionAutoGetCOMNumber()AsInteger'这是Class里的程序DimMiportNumberAsIntegerIfmiport<0ThenThrowNewApplicationException("系统中的串行端口未定义!")ExitFunctionEndIfTryFori=1To20mhrs=CreateFile("COM"&i.ToString,GENERIC_READOrGENERIC_WRITE,0,0,OPEN_EXISTING,0,0)Ifmhrs<>-1ThenDimlpErrorCodeAsIntegerDimiRcAsIntegerDimuDcbAsDCBMiportNumber=iiRc=ClearCommError(mhrs,lpErrorCode,Nothing)'清除通信错误iRc=PurgeComm(mhrs,PurgeBuffers.RXClearOrPurgeBuffers.TxClear)'清除缓冲区iRc=SetupComm(mhrs,mibuffersize,mibuffersize)'设置缓冲区大小iRc=GetCommState(mhrs,uDcb)'取得通信端口设置值'设置通信参数uDcb.BaudRate=miBaudRateuDcb.ByteSize=CByte(midatabit)uDcb.Parity=CByte(meParity)uDcb.StopBits=CByte(mestopbit)iRc=SetCommState(mhrs,uDcb)'将参数写入系统IfiRc=0Then'如果设置不成功DimlCodeAsIntegerlCode=GetLastError()MsgBox("DCB结构创建发生错误,,错误代码="&lCode.ToString)End'设置不成功,在提示信息后退出程序EndIfExitForEndIfNextReturnMiportNumberCatchexAsExceptionThrowNewApplicationException("自动获取串口失败"&ex.Message,ex)Return0EndTryEndFunction'这是按钮程序PrivateSubAutoGetCOM_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesAutoGetCOM.ClickIfNotfPortOpenThenDimflagAsIntegerflag=Class1.AutoGetCOMNumber()Ifflag>0ThenfPortOpen=1AutoGetCOM.Text="GotCOM"&flagOpenTheCOM.Text="关闭通信端口"ElseMsgBox("自动获取失败")EndIfEndIfEndSub

解决方案

时间: 2024-10-01 10:53:22

为什么VB.NET中COM口自动获取到了COM10及以上就不能了呢?的相关文章

vb.net中如何制作自动搜索的下拉菜单?

问题描述 就像这样的,例如输入1,自动去数据库查询某字段含1的所有数据字段,并且显示在下拉菜单中? 解决方案 解决方案二: 解决方案三:我看了别的资料,说是用combobox.AutoComplete属性,这个怎么用啊解决方案四:lookupedit?解决方案五:lookupedit是什么呀解决方案六:搜索:asp.net自动补全解决方案七:用文字改变的触发事件,刷新下拉表.解决方案八: 解决方案九:webForm的话,可以用jQuery的Autocomplete(自动完成.自动填充)插件完成

迅捷fast FW54R路由器无法自动获取IP地址导致上网故障的

  在平常的上网过程中,当遇到路由器的WAN口无法自动获取IP地址的时候,往往可能是关闭了DNCP服务或者是IP地址冲突导致的.下面针对主流的迅捷FW54R路由器来说明这种问题和解决方案: 一.先说说遇到故障的网络情况: 新买的迅捷fast FW54R无线路由器,接上WAN线设置好后,却一直获取不到IP地址导致无法上网. 二.对这个问题的问题分析: 使用很多迅捷fast路由器IP地址解决办法,如改LAN的IP防止冲突.克隆MAC地址,都不能解决问题. 三.针对这个问题的解决方案: (1)查看迅捷

javascript-用NVelocity+html中的#foreach自动生成的元素如何获取它的父元素和子元素?

问题描述 用NVelocity+html中的#foreach自动生成的元素如何获取它的父元素和子元素? 比如form中的表格中用#foreach自动生成行显示数据项,行的最后有修改/删除按钮,如何获取自动生成中的元素的值并传到服务器/在js中进行操作?如果无法实现,有什么替代方法? 解决方案 子元素过滤选择器(获取父元素中指定的某个子元素) 解决方案二: js的按钮事件传递this对象,this指向按钮这个dom,然后通过dom关系进行获取相关元素 如 <div>.....其他内....<

自动获取词-有没有什么程序可以获取我输入框中出现次数最多的词

问题描述 有没有什么程序可以获取我输入框中出现次数最多的词 有没有什么程序可以自动获取我输入框中出现次数最多的词?我输入完成后,告诉我出现最多的是什么词,这样的可以有吗

java web-struts+hibernate中如何点击一个jsp页面就可以把从action获取出来,自动获取值

问题描述 struts+hibernate中如何点击一个jsp页面就可以把从action获取出来,自动获取值 当我index.jsp页面使用/s:action,会出现内存溢出的情况,因为我在struts配置文件加入index.jsp.所以而我只想用户点击这index.jsp页面就可以出现 数据,而不出现错误. 最好有代码,我比较笨.谢谢大家 解决方案 请求struts2→转向index.jsp,并附带数据.OK 解决方案二: 可以通过异步实现http://blog.csdn.net/sun201

C# winfrom程序如何获取vb程序中shell 传递出来的参数

问题描述 C#winfrom程序如何获取vb程序中shell传递出来的数vb6.0中调用传参如下DimRetValRetVal=Shell("D:Debug3GLogin.exe"&sDeviceId,1)我在c#主窗体load方法中怎么能获取到这个shell传递过来的sDeviceId的值 解决方案 解决方案二:Main(string[]args),入口函数中的args就是命令行参数的数组,还可以通过下标访问解决方案三:进程间通信,通过main的args参数传递...解决方案

求问ssh框架中jsp页面传给action指定方法,action无法自动获取

问题描述 求问ssh框架中jsp页面传给action指定方法,action无法自动获取,jsp中name也指定了,action无法get到textfiled传进去的值 解决方案 解决方案二:是struts2吗?具体贴代码把,如果textfiled设置成disabled也是不传值得解决方案三:引用1楼ltyisangel的回复: 是struts2吗?具体贴代码把,如果textfiled设置成disabled也是不传值得 readonly是可以传值的解决方案四:你在方法里面request.getPa

Ajax中通过JS代码自动获取表单元素值的示例代码_AJAX相关

我们在使用Ajax的时候,通常需要获取表单元素值,然后发送给后台的服务器端程序处理.如果表单元素不多的情况我们常常会通过GET方式来获取表单元素值,但如果表单元素非常多,此时就需要用POST方式来获取表单元素值,那么如何来获取表单元素值呢?下面给出一段JS代码即可自动获取表单元素的值了. function getFormQueryString(frmID) //frmID是表单的ID号,请在表单form中先命名一个ID号 { var frmID=document.getElementById(f

vb.net中webbrowser获取子框架代码

问题描述 vb.net中用webbrowser加载有一个有框架的网页,而这个网页中有框架,如何取得子框架的html源文件?在vb中,我在WebBrowser1_DocumentCompleted事件里,用pDisp.Document.documentElement.innerHTML来获取,但在vb.net中却不知怎么取得?请指教!! 解决方案 解决方案二:路过帮顶=============11月6日,论坛升级公告,积分已经做了调整!http://topic.csdn.net/u/2008110