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

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

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
推荐阅读
自選商戶刷卡技巧(自己刷卡的MCC商戶類型)
自選商戶刷卡技巧(自己刷卡的MCC商戶類型)
  信用卡越用越多,好多卡友從來沒注意過你的積分是怎麼來的,也沒有參加銀行的優惠或者羊毛活動,下面小編給大家分享下簡單的經驗,希望大家做到有的放矢,精準打擊   什麼是MCC?   MCC全稱是Merchant Category Code,MCC碼也稱商戶類别碼,由中國銀聯統一設置并由各家支付機構及銀行共同使用的分類編碼,和其他特定信息一起組成了商家pos機...
2026-07-13
數據分析研究生畢業薪資(學數據的留學生那麼多)
數據分析研究生畢業薪資(學數據的留學生那麼多)
     什麼是Data Science?   一句話說講明白什麼是數據科學:今天互聯網時代我們的所有動作都會産生數據,而數據會被存儲下來,通過分析這些我們的行為對商業行為作出預判和決策。我知道行業裡有一些dirty玩法,這裡當然涉及一些隐私問題和道德問題,今天我們不在這裡進行讨論。   數據科學有三大職業方向   1.數據分析師(Data Analyst)...
2026-07-13
已經裝修好的房子怎樣安裝水暖(水暖安裝相關注意事項)
已經裝修好的房子怎樣安裝水暖(水暖安裝相關注意事項)
  水暖設備對于我們日常生活來說非常重要,因此在家居裝修的過程當中,我們除了要關注大型家具的選購外,還需要注重水暖安裝的情況,深入了解水暖安裝相關注意事項。今天小編就從多方面為大家做一個提醒。      第一、明确水暖安裝方式   一般來說,水暖安裝可以分為明裝以及暗裝兩種,這主要是從實用性以及安全性上面進行考慮的,通常明裝的價格會比暗裝價格較為便宜,由于明...
2026-07-13
聖歌為什麼停止更新bioware(聖歌1.3.0天劫版本更新說明)
聖歌為什麼停止更新bioware(聖歌1.3.0天劫版本更新說明)
  遊戲特色   全新劇情任務-追蹤哈爾肯博士并揭開天劫的秘密。開放給所有完成主線劇情「侵略」的玩家。   天劫-在這個危險的新模式中與瓦菈‧布羅姆和她的部隊戰鬥,此模式還會随着時間不斷進化。團隊活動非常重要,因為你必須在時間限制内與危險的環境戰鬥、解開秘密、掌握天劫來獲得所有新獎勵并提升排行榜名次。對于所有已完成「侵略」任務的玩家們,天劫将會在開始探險畫面...
2026-07-13
13代酷睿處理器有幾款(十代酷睿處理器集成AI)
13代酷睿處理器有幾款(十代酷睿處理器集成AI)
  一台PC電腦中最重要的部分是什麼?哪怕是小白玩家,也知道CPU是最重要的,因為它相當于PC的“大腦”,一切操作都要通過CPU來執行。   CPU是如此重要,以至于多年來DIY玩家最關注的内容就是CPU升級換代,這麼多年來CPU的内涵也在不斷變化。   實際上,我們現在用的CPU已經不是單純的CPU(中央處理器)了,它的内部不隻是CPU核心,還有GPU單核...
2026-07-13
Copyright 2023-2026 - www.tftnews.com All Rights Reserved