首页
/
每日頭條
/
科技
/
c語言如何查看串口号
c語言如何查看串口号
更新时间:2026-07-30 13:42:01

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

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
推荐阅读
投标文件一般需要什麼材料
投标文件一般需要什麼材料
投标文件一般需要什麼材料?一、投标文件簽署要求,今天小編就來說說關于投标文件一般需要什麼材料?下面更多詳細答案一起來看看吧!投标文件一般需要什麼材料一、投标文件簽署要求招标文件通常規定,投标文件應當加蓋投标人公章或(和)單位負責人簽字。其中...
2026-07-30
自動書簽收藏平台
自動書簽收藏平台
好的收藏習慣必不可少,收藏夾是從IE開始就有的一個浏覽器基本功能,小編在浏覽器收藏的網址可太多了。但問題是收藏夾的内容總是亂七八糟,而且我相信不止我一個人收藏夾是亂七八糟的。雖然我們經常都會收藏,可是我們真的懂得收藏嗎?或許,你缺的不是收藏...
2026-07-30
華為手機日曆可以翻到哪一年
華為手機日曆可以翻到哪一年
近日有網友曝料:華為手機日曆1582年10月被抹去了10天。按照網友提供的手機截圖顯示,1582年10月4日之後直接變成了10月15日,中間的5至14日竟無故消失。不僅如此,有的手機上面竟然直接沒有出現10月的日曆,從1582年9月直接跳到...
2026-07-30
如何檢測固态硬盤是否故障
如何檢測固态硬盤是否故障
固态硬盤(SolidStateDrives)簡稱SSD,是用固态電子存儲芯片陣列而制成的硬盤,由控制單元和存儲單元組成。如今,固态硬盤已經在電腦中得到了大量的應用,随着SSD的普及應用,固态硬盤的健康狀況檢查也成了我們需要處理的問題。由于固...
2026-07-30
如何将轉換成mp4形式
如何将轉換成mp4形式
大家常用的視頻格式就是mp4格式,小夥伴們是手機,pad等設備存放的視頻格式全都不同,遇上無法播放的視頻格式,我們如何把這些不同格式的視頻都轉換為mp4,因為mp4格式幾乎所有視頻播放器都可以打開,具體怎麼操作一起和小編來看看吧!小夥伴在下...
2026-07-30
Copyright 2023-2026 - www.tftnews.com All Rights Reserved