VC/MFC 如何获取系统中已有的COM口 [问题点数:40分,结帖人zhanghui_hn]

Bbs1
本版专家分:0
结帖率 100%
Bbs5
本版专家分:4325
Bbs8
本版专家分:41715
Blank
黄花 2012年4月 VC/MFC大版内专家分月排行榜第二
Blank
蓝花 2012年5月 VC/MFC大版内专家分月排行榜第三
Bbs8
本版专家分:41715
Blank
黄花 2012年4月 VC/MFC大版内专家分月排行榜第二
Blank
蓝花 2012年5月 VC/MFC大版内专家分月排行榜第三
Bbs1
本版专家分:0
C++枚举可用串口
简介 枚举电脑可用串口,简单的方法就是挨个连接串口,如果连接成功则串口可用。但是这样如果串口数多的话比较耗费时间,并且不能识别虚拟串口。 枚举所有可用串口本资源实现了对电脑所有可用串口的枚举。 下载资源解压后,把里面的EnumSerial.cpp与EnumSerial.h复制到工程中,然后点击Project->Settings->Link添加依赖库setupapi.lib即可使用...
VC++获取计算机可用串口并放入ComboBox控件中
C/C++ code /* -------- 从注册表里搜寻安装的串口 ----------------------- Win2k/XP和Win98/Me的注册表值不同,所以用枚举 把串口名字写入一个ComboBox控件里 */ void FindCommPort(CComboBox *pComboBox ) { HKEY hKey; #ifdef _DEBUG ASSERT(
MFC下边自动寻找串口
摘自:http://blog.csdn.net/itas109/article/details/18359295 程序:http://blog.csdn.net/itas109/article/details/18359295 serial类里边的两个函数 void CSerialPort::Hkey2ComboBox(CComboBox& m_PortNO) { HKEY hTestKe
【MFC】程序自动检测可用串口的方法
步骤 1、 头文件添加声明。 protected: //实现串口热插拔 afx_msg BOOL OnDeviceChange(UINT nEventType, DWORD dwData); 2、源文件添加消息映射。 BEGIN_MESSAGE_MAP(CFixtureConfig, CDialog) ON_WM_DEVICECHANGE() END_MESSAGE_MAP...
MFC基本对话框_串口(COM)扫描函数总结
本文主要总结一个串口(COM口)扫描函数,并将其封装成一个函数。当需要用MFC做一个计算机的串口扫描按钮时,可以直接调用下列函数,而不用再另费心思去写。全文主要分为三部分,第一部分是头文件源代码,第二部分是源文件源代码,第三部分是COM口函数调用示例。 一、头文件程序如下(可直接复制黏贴) #pragma once int CommScan(CComboBox* m_pComBo
MFC打开Com口进行通信
        在工作中我们经常需要使用电脑PC机与模块进行通信,PC机与模块通信往往是通过COM口通信的,我们见到的QXDM,AT指令等等都是通过COM通信的,那么<em>如何</em>打开COM口进行通信呢?       打开COM口代码如下:        BOOL CASRDownloaderDlg::Openport() { CString <em>com</em>mName; if (m_port &amp;lt;...
VC获取电脑上所有串口
BOOL GetSystemSerialComport(CArray &<em>com</em>array) { HKEY hKey=NULL; <em>com</em>array.RemoveAll(); if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,TEXT("HARDWARE\\DEVICEMAP\\SERIALCOMM"),0,KEY_READ,&hKey)!=ERROR_SUCCESS)
MFC中怎样检测电脑设备管理器中的串口是否存在?
怎样检测电脑的串口是否存在? 程序在初始化的时候,自动检测<em>系统</em>的串口是否存在或者被占用,可以使用如下的方法: 在基于对话框的设计中,我们采用MSComm控件作为串口接口使用,但该控件没有提供检测所使用串口是否存在的函数,所以我们在程序初始化的时候如果使用了<em>系统</em>中不存在的串口(如,在有些笔记本中,COM1是不存在的),<em>系统</em>会异常,造成<em>系统</em>初始化不正常。为了解决这个问题,同时使我们的程序有更好的交
MFC自动识别串口
1.新建COMMTEST3工程,添加一个<em>com</em>bobox到界面,id设置为IDC_COMBO。 (注意:组合框(ComboBox),运行时点击其右边的小箭头拉不下来(即不出现下拉列表)。需如下设置: 这是使用VC++的人最初常遇到的问题,实际上是下拉列表的高度设置不当。组合框的高度是不能修改的,它是由<em>系统</em>决定的,但下拉部分的高度(即在下拉框中显示多少行)是可以设置的。在VB和Delphi中
自动获取当前可用的COM口数目的MFC程序
可自动检测当前可用的COM口,并将它们显示到COMBO控件中,当前程序可检测COM1~COM16,更改程序可进一步扩展检测数目。
串口及硬件信息查询(com和lpt)
能够查找出计算机所有端口设备,并同时提供设备对应的硬件ID信息,能够轻松判定设备的拔插、寻找、绑定等
如何枚举系统COM串口
CRegKey RegKey; int nCount = 0; //<em>系统</em>COM端口的注册表信息就在该目录下。 if(RegKey.Open(HKEY_LOCAL_MACHINE, "Hardware\\DeviceMap\\SerialComm") == ERROR_SUCCESS) { while(true) {
C++获取计算机的COM口(串口号)
刚开始转做上位机,然后要使用串口通信。其实项目不需要<em>获取</em>串口号,开始不知道,就去<em>获取</em>了串口号。 整理了一下,以后要用的话也方便使用。 环境:VS2013 + QT5.7 QStringList ConfigInterfaceDevice::getEnableCommPort() { QStringList CommPortList; QString strCommPath = tr(&amp;amp;quot;HKE...
VC++ VS2010 MFC 配合串口控件MSCOMM 复选框CheckBox 下拉ComboBox来选择打开串口端口
在VS2010下使用串口控件MSComm步骤<em>如何</em>?有哪些常见的错误? 复选框CheckBox<em>如何</em>实现”选中”和”未选中”的切换? 下拉菜单ComboBox<em>如何</em>对选中的位置添加代码? 串口程序中<em>如何</em>处理端口的打开和关闭?
获取系统串口号
以下是我自己用的<em>获取</em><em>系统</em>串口号的代码(VS2005) INT_PTR CWifiComfWRTagDlg::GetSerialPort(CStringArray &arrCom) //遍历计算机中有哪些串口 {  //CStringArray ary;  arrCom.R
windows取得串口列表
#include int SerialPort::GetList(char list[][SERIAL_NAME_MAXLEN]) { CRegKey RegKey; int nCount = 0; if(RegKey.Open(HKEY_LOCAL_MACHINE, "HARDWARE\\DEVICEMAP\\SERIALCOMM") == ERROR_SUCCESS)
MFC下自动识别串口的实现
摘自:http://blog.csdn.net/itas109/article/details/18359295 程序:http://blog.csdn.net/itas109/article/details/18359295 serial类里边的两个函数 [cpp] view plain copy void CSerialPort:
MFC下的串口程序(基于Com组件)
在网上浏览了几篇关于串口程序的博客,最后终于实现了最简单的功能,收发功能。 不过在这个过程中,有如下几点觉得要留意的: 1、ms<em>com</em>m.h和ms<em>com</em>m.cpp的加入 2、接收数据函数的生成(在控件上右键选择”添加事件处理程序“,它会自动生成一个消息映射和对应的函数)。 编程环境:win7 32bit + vs2010 这个程序过于简单,发送时接收方还可以,但接收别人的数据时经常掉失数...
MFC自动获取设备的串口--在串口通信中、CString的字符截取
打印CString的话,使用printf(&quot;%s&quot;)即可。 MFC自动<em>获取</em>PC设备的串口--在串口通信中 警告!!!!! 坑:使用注册表得到的<em>com</em>口,比如<em>com</em>20 ,长度是6,而非5,有个空格!!!! 使用设备管理器读取到的<em>com</em>口,比如<em>com</em>20,读取为5,而非6,没有空格。 在获得<em>com</em>口的号码时,注意处理!!!! 1、采用最普通的方法,就是查询注册表, //registe...
C++获取可使用的COM口列表
int iCOM; char cCom[MAX_PATH] = " "; bool bFirstTime = TRUE; for(int i = 1; i<=iCOM; i++) { HANDLE hCom; //全局变量,串口句柄 char cTemp[MAX_PATH]; char cTempFull[MAX_
MFC中根据注册表获取串口
HANDLE hComm = CreateFile(Com_name, GENERIC_READ | GENERIC_WRITE, 0,  NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); //sett DCB  DCB dcb; //Initial DCB DefaultDCB(&dcb); //get th
自动获取电脑上可用COM口设备
自动<em>获取</em>电脑上可用的COM口设备,方便软件开发使用,用户在使用软件时能够快速的选择USB设备
vc如何可以识别到插入的设备在哪个USB端口
<em>vc</em>中<em>如何</em>可以识别到插入的设备在哪个USB端口   2016-07-23 15:04 最佳答案 <em>获取</em> RootHub。 枚举 端口连接信息。 如果连接,<em>获取</em>设备名字。 仔细看看你的设备名字。 CreateFile and DeviceIoControl。 IOCTL_USB_GET_ROOT_HUB_NAME IOCTL_USB_GET_NO
串口编程-枚举遍历串口、获取PC所有串口名称、遍历注册表项、RegEnumValue用法
在网上找了几个关于遍历串口的例子,要么代码不完整,要么就有Bug,如读不了串口号大于10以上的。  经过本人的整理,现分享最终代码,vs2008下编译通过。  //此方法同样适用于遍历windows开机启动项,只需稍加修改即可.  ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
VC6.0 打开COM10以上的串口
转载出处:http://wsyjwps1983.blog.163.<em>com</em>/blog/static/6800900120123179519596/ 今天用以前的一个串口程序,发现串口怎么也打不开。因为用的串口不是常规的 COM1、COM2而是大于Com10的端口,想着是很简单的增加几个选项就可以轻松 搞定的,结果加上后测试,发现总是初始化失败,调试发现在CreateFile里总是失败, 找到
MFC 获取所有USB设备 列举所有USB设备 列举所有USB HUB
<em>获取</em>所有USB设备,列举所有USB设备 #include &amp;lt;INITGUID.h&amp;gt;  #include &amp;lt;setupapi.h&amp;gt; #pragma <em>com</em>ment(lib, &quot;setupapi.lib&quot;)  #define MY_USB_PID_VID    _T(&quot;VID_1111&amp;amp;PID_2222&quot;) DEFINE_GUID(GUID_DEVINTERFACE...
VC中如何打开Com10及以上的串口
今天用以前的一个串口程序,发现串口怎么也打不开。因为用的串口不是常规的COM1、COM2而是大于Com10的端口,想着是很简单的增加几个选项就可以轻松搞定的,结果加上后测试,发现总是初始化失败,调试发现在CreateFile里总是失败,找到MSDN一看果然这里有区别。    Win32 API函数CreateFile()除了可打开普通文件外,还可以打开设备,比如可用于打开串口,获得串口句柄。
使用Com组件的时候,注意接口的释放
创建一个atl的exe组件,增加了一个从IUnknown派生的接口,当在客户端创建这个接口成功后,在退出的时候调用Release程序出现如下的错误,Cannot execute program .这是问什么?    产生上述错误的原因:    在客户端的程序是一个基于对话框的程序,在该程序的C**APP:: InitInstance()函数的开头和结尾增加了如下代码,已实现调用Com接口.    
VC获取Com错误消息
CString GetComError(const _<em>com</em>_error& e) { CString sMsg; sMsg.Format( _T("HRESULT: 0x%08lx; Error: %s"), e.Error(), e.ErrorMessage() ); if(e.ErrorInfo()) { sMsg += TEXT("\nSource: ") +
读写串口的实现(一)
* Windows自动识别串口的实现,以下是基于MFC开发的,以下所说都是建立在串口注册表上说的 *实现Windows<em>系统</em>下自动识别串口需要调用三个Windows API函数,它们是: //主要用于打开串口1. LONG RegOpenKeyEx( HKEY hKey, //主键,即串口信息存放的文件夹 LPCTSTR lpSubKey, //子键
COM组件初始化
OleInitialize、CoInitialize、CoInitializeEx和AfxOleInit()区别  (2012-06-28 22:49:25) 转载▼ 标签:  oleinitialize   coinitialize   coinitializeex   afxoleinit区别   it 分类: SQ
MFC获取本地磁盘盘符
有四个基本的函数:GetLogicalDrives, GetLogicalDriveStrings, GetDriveType 和 GetVolumeInformation。第五个是 SetVolumeLabel,如果你愿意,可以用它设置卷标。 第一个函数,GetLogicalDrives,返回一个DWORD的位掩码(bitmask)值,以告知驱动盘符。“0”表示是驱动器A,“1”表示驱动器B,
如何清除Win7中被占用的COM口 串口
电脑 > 开始 > 运行中输入:regedit  > 回车打开<em>系统</em>注册表  >  然后修改注册表对应的目录值: HKEY_LOCAL_MACHINE         > SYSTEM                 > CurrentControlSet                         > Control             
VC/MFC根据USB设备PID、VID自动查找串口号
在VC/MFC环境下有两种方法来根据PID、VID<em>获取</em>对应的串口号,这样操作的目的是避免客户手动设定下拉框的信息,让软件自动识别!当然,前提是有自己的USB PID、VID
vc中调用Com组件的五种方法详解
<em>vc</em>中调用Com组件的方法详解 转载自:http://www.cppblog.<em>com</em>/woaidongmao/archive/2011/01/10/138250.html 需求: 1.创建myCom.dll,该COM只有一个组件,两个接口:    IGetRes--方法Hello(),    IGetResEx--方法HelloEx() 2.在工程中导入组件或类型库
c#获取本机串口列表
private List GetComlist(bool isUseReg) { List list = new List(); try { if (isUseReg) { RegistryKey RootK
MFC工程中导入使用已有的.h文件和.cpp文件
对于很多工程来说,我们不用每一个类都需要自己来写,如果有别人已经编写好的类,我们可以拿过来直接用,但这需要我们把这些文件导入我们的工程中。首先你得把自定义的.h和.cpp文件右键添加到你的MFC工程中,然后再#include引用之。 头文件--添加--现有项
vc++导入com组件
1.生成dll 2.工程属性->C/C++->常规->附加库目录:添加dll所在路径 3.#import "组件所在目录myCom.dll" no_namespace
vs2010用mfc 自动获取串口列表并且实现收发数据
代码可以在vs2010下编译通过,还包含注册文件ms<em>com</em>m32.ocx,可以实现自动<em>获取</em>串口列表并且完成数据的收发
MFC/VC 获取本机电脑名,本地IP地址
一个简单的VC++程序,可以<em>获取</em>本机电脑名,以及本地IP地址
MFC 打开已经存在的EXCEL文件
CApplication ExcelApp; CWorkbooks books; CWorkbook book; CWorksheets sheets; CWorksheet sheet; CRange range; LPDISPATCH lpDisp = NULL; if(!ExcelApp.CreateDispatch(_T("Excel.Application"),NULL
VC利用COM接口操作Word总结
 VC利用COM接口操作Word总结   1、初始化COM库 2、利用COM接口提供的函数,打开默认的模版文档。对Word进行读写等操作,下面代码包括写入文本,在表格中写入文本,实现控制页数,查找特定字符、打印等操作。 3.转载过来,先学习着   void CWordDlg::OnBnClickedButtonCre
VS下 MFC通过COM操作PPT
需要整合一些PPT、Word、PDF进软件,由于PPT有切换动画、音效等难以转化的功能,所以需要将它整体嵌入进来。所以只能用微软的库,以下DLL可以实现播放、跳转页、关闭、获得页码等功能。 Step 1: 在VS2013下,可以新建MFC应用程序或者MFC DLL,因为PPT组件只支持MFC。 Step 2: 我选择新建了DLL。在程序中添加类。 选择相应的类库。
C#枚举所有串口COM
在实际项目中,如需都COM进行操作,往往需要枚举当前电脑中可用的所有串口COM。 我们第一想到的就是SerialPort.GetPortNames()方法。但这种方法有个缺陷那就是不能罗列那些通过USB连接虚拟出来的COM口。 public abstract class PortInfoBase { public string PortName { get; set;...
vc串口应用编程--打开串口失败
串口打开失败原因: 1.串口被占用 2.驱动没装好 3.程序中串口打开串口名不对 程序串口名不对造成打开失败的原因: 1.COM0到COM9可直接用 "COMX" 或 "COMX:" 打开串口,在设备管理器对应<em>com</em>口的属性->端口设置->高级中可修改COM口 2.COM10以上的端口采用 “COMX”或“COMX:”名不能打开串口,命名为“\\\\.\\COMX”打开成功。 M
VC++ 动态检测串口的热插拔(一)通过遍历实现
在串口编程中经常需要知道串口号,用来配置串口,可是没有好的办法,只能进到设备管理器中去看,那么<em>如何</em>能够实现软件的自动检测串口号,并且可支持热插拔检测那? 下面将讲述两种方法来实现这种效果:一种是遍历设备列表中的所有串口0-255,二是通过读去注册表来实现检测 在这篇文章中将只讲述循环遍历方法的实现,在下一篇文章中将讲述利用注册表方法的实现 --------------------------
串口通信02-获得电脑上的串口号
获得电脑串口号的方法很多,这里个人仅仅是通过注册表获得串口号,方法如下: ①打开串口注册表 LONG RegOpenKeyEx( HKEY hKey, // 需要打开的主键的名称 LPCTSTR lpSubKey, //需要打开的子键的名称 DWORD ulOptions, // 保留,设为0 REGSAM samDesired, // 安全访问标记,也
COM组件开发(四)——VC++调用COM组件的方法
ActiveX 控件          对于ActiveX控件,可以在Visual Studio中使用ClassWizard的方法引入,在MFC项目中选择菜单“项目”——> “添加类”——>“ActiveX控件中的MFC类”,然后可以分别从注册表和文件两种方式中选择自己想要的组件。选择注册表中的方式<em>获取</em>的都是在本<em>系统</em>中注册了的组件,而文件则是从磁盘目录下<em>获取</em>COM组件。 代
vc程序增加mfc支持
#include          // MFC core and standard <em>com</em>ponents #include          // MFC extensions #include         // MFC Automation classes #include         // MFC support for Internet Explorer
串口类 10以上串口号 \\\\.\\COM10
http://blog.sina.<em>com</em>.cn/s/blog_470eccc60100cwzb.html
c++ 串口类 读 写 取得串口列表
c++ 串口类 打开,关闭串口,读写,取得串口列表
VC++获得INI文件指定段的全部键名和键值
// DemoDlg.cpp : implementation file // Download by http://www.codefans.net #include "stdafx.h" #include "Demo.h" #include "DemoDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static cha
MFC 遍历串口
//遍历串口实现 CString CComDialog::FindAllCom() {  HKEY hKey;   int rtn;     CString <em>com</em>info;  int   i=0;  DWORD   dwLong,dwSize;  char   portName[256],<em>com</em>mName[256];    rtn = RegOpenKeyEx( HKE
Delphi(Object Pascal)中通过COM口交互数据
Delphi(Object Pascal)中通过COM口交互数据
MFC(C++)通过Com操作(调用)Photoshop (1-前期环境)
最近有一些关于Photoshop的自动化事情,怕给忘了这种坎坷,写个备忘。看了一下官网提供的方式。最后选择了不常用的COM库。原因是个人觉得基于COM库的话,思想上是一致的,使用C++、Python等调用都很方便。我使用的是VS2017,以下截图都是从VS2017中截取的。先开始撸一个环境吧(本例子是基于MFC + COM)的:我采用的是基于对话框的程序。一、在《高级功能》页,勾选      自动...
在MFC项目中使用Google Earth COM API示例
这是“在.NET平台使用GE COM API示例”的衍生版本,这里将介绍<em>如何</em>在MFC中使用. 以MFC对话框程序为例说明,最终效果如下 下面逐步介绍 1、首先新建一个给予对话框的MFC应用程序 2、接下来修改部分元素 生成项目之后,将对话框上的静态文字控件删除, 修改OK(确定)和Cancel(取消)按钮(选中控件打开属性对话框)如下: 左
vc tcp端口是否被占用
//遍历本地tcp端口 是否被占用 bool CiServerCfgDlg::CheckPortIsOccupy(DWORD dwPort) { PMIB_TCPTABLE pTcptable; pTcptable = (MIB_TCPTABLE*)malloc(sizeof(MIB_TCPTABLE)); DWORD dwsize=sizeof(MIB_TCPTABLE); if (
vc获取windows设备枚举设备信息
#include "stdio.h" #include #include #pragma <em>com</em>ment(lib, "setupapi.lib") void PrintDevicesInfo1() { HDEVINFO hDevInfo = SetupDiGetClassDevs(NULL, NULL, NULL, DIGCF_ALLCLASSES); if (hDevInfo ==
获取系统所有字体信息
VC工程,可<em>获取</em><em>系统</em>字体信息,有助于字体对话框的编写
自动列举出电脑上可用的COM口
出处:http://blog.chinaunix.net/uid-20672257-id-2973926.html 开发工具:visual studio 2010 本机可用串口信息如下: 1 、查询注册表  查询注册表的方法是比较常见的方法,通过查看“ HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOM
【181030】VC++ 获得系统内存,并以圆饼图表现百分比
获得<em>系统</em>内存,并以圆饼图表现百分比,很早的程序了,用在现在的大硬盘电脑上可能有错误,不过也很好修正,无非是函数的调用问题,程序核心要表现的并不是<em>如何</em>获得Windows的内存使用量,而是<em>如何</em>将数据与圆饼图捆绑,从而生成百分比图。如上图所示。 源码下载地址:点击下载 备用下载地址:点击下载 ...
VC检测OCX(ActiveX)控件是否注册并注册
当程序中调用ActiveX控件时候,需要先检测<em>系统</em>是否已注册该控件,如果没有注册则注册。 流程: 1.检测<em>系统</em>清册表是否安装该控件BOOL OnIsRegistOCX( LPCTSTR lpCLSID) 2.如果没有注册则复制OCX文件到<em>系统</em>目录,如system32目录并注册 OnRegisterReg(LPCTSTR pszDllName) 3.用户需要调用的接口函数LRESULT CheckRegistOCX(LPCTSTR lpOCXname, LPCTSTR lpCLSID) 4.调用地方:BOOL C***App::InitInstance()中
利用ComoBox组合框控件选择串口号
环境VS2008     BOOL XXXDlg::OnInitDialog() {    // TODO: 在此添加额外的初始化代码    GetCom();     int nselect=m_ctrlComoboComPort.GetCurSel()+1;         m_MSComm1.put_CommPort(short(nselect)); · · ·
C#获取所有串口号
 第一种方式: for 循环把所<em>有的</em>串口都打开一遍,方法比较笨,但是也可以实现   Dictionary&amp;lt;int, string&amp;gt; dicCOM = new Dictionary&amp;lt;int, string&amp;gt;(); for (int i = 1; i &amp;lt;= 30; i++) { ...
COM组件注册方法(VC++)
1、打开VC的属性界面进行设置 2、注册DLL到<em>系统</em> CString szInfo, szPath; char cPath[MAX_PATH] = {0}; GetModuleFileNameA(NULL, cPath, MAX_PATH); szPath += cPath; int nFind = szPath.ReverseFind('\\'); if (nFind >
VC 获取Windows已安装软件(注册表方式)
Windows把卸载信息保存在注册表键HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall之下。我们可以枚举这个键的子键来了解哪个软件已经安装且可以卸载。在这个键的下面,每个子键代表一个可卸载项,每个子键下都列出一系列和相关软件有关的信息,重要的是以下信息: DisplayName:显示名称,这是我们
二,MFC Ccombox的使用
三,MFC里CHECKBOX用法也可以对变量进行get或者set之类的操作来设置或者判断复选框的选择状态。得到复选框状态的函数:CButton* pBtn = (CButton*)GetDlgItem(IDC_CHECK);           int state = pBtnNONE->GetCheck();           当state == 1时表示该复选框没有被选中;           当state == 0时表示该复选框被选中设置复选框状态的函数:CButton* pBtn = (CButt
删除多余的com(串口)的占用
在软件开发过程中,或者windows使用过程中,经常会出现电脑的<em>com</em>口被占用着,这会导致在使用新的设备的时候,存在<em>com</em>口不够用的情况。下面介绍方法能够解除和释放串口、   解除串口占用: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter 讲上述键值清除,即可将串口端口的占用情况解除   释放串口...
C++实现串口的自动识别
1.首先需要遍历注册表得到所有可用的串口 详细的代码如下所示,将得到的每一个串口保存到向量vector中 //得到所<em>有的</em>串口号 vector&amp;lt;string&amp;gt; cnComm::getComPort() { HKEY hKey; char portName[256], <em>com</em>mName[256]; //打开串口注册表对应的键值 if (ERROR_SUCCESS == ...
win8.1 如何查看com端口号
有时我们会需要在 “设备管理器”中查看 <em>com</em> 端口,用于连接外部设备,但是在 win8.1 下面,居然没有这一项?           表面上没有,其实是<em>系统</em>隐藏了。注意看“设备管理器”的右侧 。             选中星号所示的选项,则会出现我们期待已久的“端口”选项。        最后,吐槽一下win8.1 这坑人的设计。。。
C# 通过COM端口读取数据
C# 通过COM端口读取数据 private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
VC操作EXCEL(控制台程序使用MFC)
VC读取Excel文件
VC枚举系统所有字体
LOGFONT lf; lf.lfCharSet = DEFAULT_CHARSET; // Initialize the LOGFONT structure strcpy(lf.lfFaceName,""); CClientDC dc (this); //Enumerate the font families ::EnumFontFamiliesEx((HDC) dc,&lf,
C# 获取计算机串口列表
C# <em>获取</em>计算机串口列表功能实现。 第一步:引入库文件:&quot;kernel32.dll&quot; [DllImport(&quot;kernel32.dll&quot;, CharSet = CharSet.Auto)] 第二步:<em>获取</em>串口列表(两种方法) 方法一:从计算机注册表的特定位置读取出串口信息。返回:从注册表<em>获取</em><em>系统</em>串口列表 public static string[] GetComList() { ...
【C++】mfc串口通过串口接收到的数据进行分离处理
本人一位大三的学生,使用MFC做界面,为了提取串口来的数据,写了个简单的提取代码,希望对初学者有用。 工具版本:vs2013+<em>mfc</em>。 void CPORTMFCDlg::OnCommMs<em>com</em>m1() { m_strRXData = ""; m_strRXData2 = ""; m_strRXData3 = ""; VARIANT variant_inp; COleSafe...
通过读注册表检测本机串口信息
用QT做上位机,想做自动扫描串口设备功能 遇到问题 现在终于解决 程序写得不是很好,功能实现了。按照此方法应该能够扫描到其他硬件。 我遇到的问题: 使用QSettings时 对于注册表中串口信息中的 \Device\Serial0 这种key值 无法找到其value 是 \ 斜杠问题。
VC serialPort类加上关闭功能————我的解决方法
VC serialPort类加上关闭功能————我的解决方法2010年10月15日 星期五 10:40CSerialPort是一个很好的串口通讯类,但它没有关闭串口的方法,如果对这个类的实现原理不了解,自行编写串口关闭方法可能会带来如下问题:     1、用closehandle方法关闭串口:由于调用类方法StartMonitoring后会生成一个串口通信线程,这个线程中要不停地访问串口,这种方法会带来明显的错误。   2、先用StopMonitoring方法停止串口监听,然后用cl
VC获取系统时间、程序运行时间(精确到秒,毫秒)
1.使用CTime类(<em>获取</em><em>系统</em>当前时间,精确到秒) CString str; //<em>获取</em><em>系统</em>时间 CTime tm; tm=CTime::GetCurrentTime();//<em>获取</em><em>系统</em>日期 str=tm.Format("现在时间是%Y年%m月%d日 %X"); MessageBox(str,NULL,MB_OK); a,从CTimet中提取年月日时分秒   CTime t =
.VC获取EXCEL 表格的总行列数 新建文件
.VC<em>获取</em>EXCEL 表格的总行数  _Worksheet   ws;     Range   range;        range   =   ws.GetUsedRange();      range   =   range.GetRows();            long   UsedRows   =   range.Get_Count();     
获取设备管理器的信息
有些时候需要先<em>获取</em>设备管理器里面的硬件信息,才能执行对应的操作,简单的鼓捣了一下,贴出来共享。具体有两个方法,大致来说差不多,流程一样 ,懒得整理了,直接贴出来原始体。// PrintDeviceInfo.cpp : 定义控制台应用程序的入口点。// #include &quot;stdafx.h&quot;#include &amp;lt;Windows.h&amp;gt;#include &amp;lt;setupapi.h&amp;gt; #...
MFC 如何检测到USB设备插入拔出
MFC USB设备插入和拔出事件可以
VC++中如何添加别人写的类
 在<em>vc</em>中经常要添加自己或别人写好的类到项目中来。添加的方法如下:比如我们要添加CIniFile类,首先Copy  CIniFile类的.h和.cpp文件到工程目录下,然后Add   files   to  project即可。 使用的时候记得包含头文件“IniFile.h”,如果出现错误必要时把  项目中的 .clw   文件删除然后重建 
C++获取系统串口号详细信息(包括设备描述等...)
** C++<em>获取</em><em>系统</em>串口号详细信息(包括设备描述等…) ** 在平时工作中有时候需要<em>获取</em>串口的设备描述信息,然后进行一些特殊处理,这时候我们就要列出所<em>有的</em>计算机串口信息然后进行筛选。 我这里根据需要写了一个接口GetSerialInfo供大家使用 GetSerialCount //<em>获取</em>总的串口数量 GetPortDescById //通过ID<em>获取</em>串口描述信息 如NUBOX...
VC COM接口编程
我见过很多人学COM,看完一本书后觉得对COM的原理比较了解了,COM也不过如此,可是就是不知道该怎么编程序,我自己也有这种情况,我也是经历了这样的阶段走过来的。要学COM的基本原理,我推荐的书是《COM技术内幕》。但仅看这样的书是远远不够的,我们最终的目的是要学会怎么用COM去编程序,而不是拼命的研究COM本身的机制。所以我个人觉得对COM的基本原理不需要花大量的时间去追根问底,没有必要,是吃力
windows下打开串口COM10的坑
打开COM10及以上的串口,居然遇到找不到的硬件资源的错误,但是同样的代码打开COM1-COM9是没有任何问题的。用CreateFile()打开串口,如果串口号大于9,会返回INVALID_HANDLE_VALUE错误。原来打开10以上的COM口,传参数是有讲究的。HANDLE hCom = CreateFile(&quot;\\\\.\\COM10&quot;, GENERIC_READ | GENERIC_WRI...
VC获取硬件信息
VC<em>获取</em>硬件信息(如硬盘物理序列号及CPUID,主板序列号等等) //an为8字节缓存 int GetCPUid(BYTE *an) { unsigned long s1 = 0,s2=0; _asm { mov eax,01h xor edx,edx cpuid mov
VS_MFC:添加已有的dialog
本文一步一步介绍,把之前项目创建好的dialog,加入到别的项目中去,进行整合,避免重复性工作首先,是两个已经完成的MFC工程,需要添加dialog的记为A,另一个记为B,就是需要把B的其中一个dialog给到A里,在A里进行整合。第一步把B添加到A的解决方案里,如图所示:现有项,就是去找B的文件目录。添加B的工程文件,会查找到只有这个文件可以添加。点击去,就会发现多一个项目了。此时不要随意操作,...
VC++获取串口设备信息,CPU ID,硬盘ID,网卡MAC等机器硬件信息,用于加密
VC++<em>获取</em>串口设备信息,CPU ID,硬盘ID,网卡MAC等机器硬件信息,用于加密 可以<em>获取</em>串口设备的详细信息,CPU ID,网卡MAC地址,硬盘的ID信息,以及<em>系统</em>安装时间,可以用来做计算机的唯一标识符。 首先要添加 System.Management 的引用 //详细的<em>获取</em>硬件信息的代码 //<em>获取</em>串口设备信息 public: int GetComHardwareInfo(arr
最简单的如何识别计算机哪些COM口处于连接状态
最简单的方式,就是利用CreateFile方法;     打开COM1到COM9用: m_hCom = CreateFile(_T("COM1:"), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, NULL, NULL); 或者 m_hCom = CreateFile(_T("COM1"), GENERIC_
MFC 串口控件
一、环境缺少控件   从网上下载控件包,并安装。安装方法,打包文件中有介绍。   链接: https://pan.baidu.<em>com</em>/s/1o76MI9O 密码: k5iq 二、串口控件的使用   (以下内容源自网络,整理后作为学习笔记)   基于MFC的MSComm 控件在串口编程时非常方便,在VC、VB、Delphi等语言中均可使用。 Microsoft Comm
C,C++,VC判断当前操作系统是那种语言 GetSystemDefaultLangID()
<em>获取</em>当前<em>系统</em>版本 是什么语言。 #include #pragma <em>com</em>ment(lib,"Kernel32.lib")   LANGID lid = GetSystemDefaultLangID();        switch (lid)        {        case 0X0804:               //MessageB
c#获取本机的串口列表
1.定义一个字符串数组,并将<em>获取</em>到的电脑上串口名字赋值给它。 string[] ArryPort = SerialPort.GetPortNames(); 2.将一个组合框的内容清除 cmbPort.Items.Clear(); 3。将数组中的值添加到组合框中 for (int i = 0; i < ArryPort.Length; i++) {
MFC modBus 读写串口实例源码
MFC modBus 读写串口实例源码, 有详细的代码注释,适合modbus通讯协议编程
简单的可自动识别串口热插拔的MFC串口工具
VS2010 MFC控件 MSCOMM做的串口工具,可自动识别串口热插拔,发送接收均为16进制,没有做正常字符型发送和16进制双选择,适合新手
vc 调用wps
环境:xp sp3,<em>vc</em>2003,wps2009 stdafx.h #import "kso10.dll" named_guids, rename_namespace("KSO") #import "wpscore.dll" rename_namespace("WPS")   // wps.cpp : 定义应用程序的类行为。 BOOL CwpsApp::InitInstance()//
强连通分量及缩点tarjan算法解析
强连通分量: 简言之 就是找环(每条边只走一次,两两可达) 孤立的一个点也是一个连通分量   使用tarjan算法 在嵌套的多个环中优先得到最大环( 最小环就是每个孤立点)   定义: int Time, DFN[N], Low[N]; DFN[i]表示 遍历到 i 点时是第几次dfs Low[u] 表示 以u点为父节点的 子树 能连接到 [栈中] 最上端的点   int
数字逻辑课设可闹时报时电子钟下载
1.能进行正常的时、分、秒计时功能。 1) 用M6M5进行24进制小时的显示; 2) 用M4M3进行60进制分的显示; 3) 用M2M1进行60进制秒的显示。 2.利用按键实现“校时”、“校分”和“秒清单”功能。 1) 按下SA键时,计时器迅速递增,按24小时循环,并且计满23时回到00。 2) 按下SB键时,计时器迅速递增,按60小时循环,并且计满59时回到00,但不向时进位。 3) 按下SC,秒清零。 要求按下“SA”或“SB”均不会产生数字跳变(“SA”、“SB”按键是有抖动的,必须对“SA”“SB”进行消抖动处理。) 4) 整点报时功能。 a) 在59分50、52、54、56、 相关下载链接:[url=//download.csdn.net/download/zzzz4579/1986680?utm_source=bbsseo]//download.csdn.net/download/zzzz4579/1986680?utm_source=bbsseo[/url]
51单片机定时器T2初始化设置下载
51单片机定时器T2初始化完整设置 及具体定时长短的计算 相关下载链接:[url=//download.csdn.net/download/wodejiaoao/2216114?utm_source=bbsseo]//download.csdn.net/download/wodejiaoao/2216114?utm_source=bbsseo[/url]
操作系统 进程调度模拟系统下载
操作系统 进程调度模拟系统 能详细显示各个队列的调度结果 且能实现单步运行 本系统用C#编写 可在.NET3.5或以上平台上运行 相关下载链接:[url=//download.csdn.net/download/moonjinx/2375427?utm_source=bbsseo]//download.csdn.net/download/moonjinx/2375427?utm_source=bbsseo[/url]
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 vc人工智能教程 如何系统的学习python
我们是很有底线的