首页
/
每日頭條
/
科技
/
c語言如何查看串口号
c語言如何查看串口号
更新时间:2026-09-08 06:40:58

在工作中如果使用到串口,我們在打開的時候,都要做如下操作:

1、右鍵“我的電腦”打開右鍵菜單;

2、然後選擇并點擊“管理”;

3、在彈出的計算機管理器中選擇“設備管理器”;(有的右鍵菜單直接有設備管理器)

4、在右側選擇“端口”,展開看串口信息;

5、在軟件中輸入串口名,然後打開。

有沒有什麼辦法省去這樣的操作呢,直接在軟件打開的時候(或者通過按鈕刷新信息)獲取到已有的串口列表信息?

注冊表

在windows操作系統中,有很多設備和應用以及其他的很多東西都在它的注冊表中。

隻要我們讀取注冊表中相應的位置,就可以獲取對應信息。

當然串口信息也不例外,它在注冊表中的路徑是:

HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM 。

大家可以在執行 regedit 打開注冊表編輯器,打開對應位置查看串口信息(前提是有串口設備)。

我的電腦上信息如下圖:

c語言如何查看串口号(CC編程筆記)1

對于如何讀取注冊表,windows 提供的豐富API中就有一系列與注冊表相關的接口。

今天我們需要用到的是如下幾個接口:

RegOpenKeyEx 用于打開所要的鍵,并返回一個句柄;

RegEnumValue 用于枚舉所在項的鍵值;

RegCloseKey 用于關閉當前打開的鍵。

使用方法

具體調用流程如下:

#include <iostream> #include <winreg.h> // 注冊表函數所在頭文件 using namespace std; // 該函數返回讀取到的串口名稱列表 std::list<std::string> getComList() { std::list<std::string> listComs; HKEY hKey; // 打開注冊表 if(::RegOpenKeyEx(HKEY_LOCAL_MACHINE, TEXT("HARDWARE\\DEVICEMAP\\SERIALCOMM"), 0,KEY_READ,&hKey)!=0) return listComs; char key[256]; //鍵名數組 char value[256]; //鍵值數組 DWORD type; DWORD keySize; DWORD valueSize; DWORD idx = 0; while (true) { keySize = sizeof(key); valueSize = sizeof(value); //枚舉鍵值 int ret = ::RegEnumValueA(hKey,idx ,key,&keySize,0, &type,(BYTE*)value,&valueSize); if(ret == ERROR_SUCCESS || ret == ERROR_MORE_DATA) //列舉鍵名和值 { listComs.push_back(value); // 保存獲取到的值 std::cout << value << std::endl; } else break; } ::RegCloseKey(hKey);//關閉注冊表 return listComs; }

總結

還有其他不少關于注冊表操作的函數,

有興趣的小夥伴可以自行查看和搜索相關函數功能和用法。

在這就不做展開了。

如果覺得我寫的還不錯的話,求贊,求關注哦!(^▽^)

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
小米6充電慢解決辦法
小米6充電慢解決辦法
1、首先可以清理充電口、更換數據線以及更換充電插頭。2、也可以将手機系統進行升級,或者是送去售後服務...
2026-09-08
手機屏幕如何縮小尺寸
手機屏幕如何縮小尺寸
演示機型:小米11系統版本:miui12.0.7打開手機中的“設置”應用圖标。在“設置”頁面中找到更多設置。在“更多設置”頁面中找到單手模式,點擊進入該選項。在“單手模式”頁面中選中啟用單手模式,即可打開手機的單手模式。在頁面下方選中單手模式中屏幕的尺寸,這裡可供選擇的有4.5英寸、4.0英寸、3.5英
2026-09-08
真我手機是哪個旗下的
真我手機是哪個旗下的
演示機型:realmeX50pro系統版本:ColorOS11真我手機是oppo旗下的手機,realme(真我)是oppo旗下的一個子品牌,在2018年5月4日成立,主要針對的是國外手機市場。在2018年7月份的時候正式脫離oppo,獨立運營,而realmex則是realme首款回歸國内市場的機型。realme圍繞手機+AIoT戰略,推出1+4+N産品策略,旗下産品以5G手機為核心,連接音箱、電視
2026-09-08
vivo手機兒童模式在哪裡設置
vivo手機兒童模式在哪裡設置
演示機型:vivox60系統版本:FuntouchOS111、vivo手機都自帶兒童模式,如果手機内沒有,去應用商店下載安裝即可。2、點擊兒童模式圖标,輸入鎖屏密碼即可進入兒童模式界面。3、分别設置每次可用時長、數據網絡、低電自動停用。4、勾選兒童可使用的軟件,點擊完成即可。vivo手機使用小技巧:1、超級截屏:Vivo手機中的超級截屏十分豐富,擁有套索截屏,塗鴉截屏,矩形截屏等實用截屏功能,各種
2026-09-08
win10怎麼删除分區重新分區
win10怎麼删除分區重新分區
演示機型:華為MateBookX系統版本:win101、點擊電腦裡面左下角的“開始”。2、找到并點擊打開“Windows管理工具”。3、在Windows管理工具裡找到“計算機管理”并點擊打開。4、找到并點擊“磁盤管理”。5、找到設置的分區了,點擊鼠标右鍵選擇删除。6、删除卷之前,把需要備份的資源先備份一
2026-09-08
Copyright 2023-2026 - www.tftnews.com All Rights Reserved