首页
/
每日頭條
/
科技
/
c語言如何查看串口号
c語言如何查看串口号
更新时间:2026-05-18 03:13:18

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

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
推荐阅读
時崎狂三在約會大作戰中何時出現
時崎狂三在約會大作戰中何時出現
衆所周知,刻刻帝是時崎狂三的精靈天使,它擁有着可以操縱時間與影子的強大能力。在《約會大作戰》衆多精靈天使的實力排名中,刻刻帝應該也算是排在較前面位置中的一個,足以稱得得上是bug級别的精靈天使。可事實上,刻刻帝真的有那麼強大嗎?回看約戰本篇...
2026-05-18
訪問共享文件夾提示不能訪問因你組織的安全策略阻止未驗證的訪問
訪問共享文件夾提示不能訪問因你組織的安全策略阻止未驗證的訪問
電腦訪問局域網的共享文件夾,提示“你不能訪問此共享文件夾,因為你組織的安全策略阻止未經身份驗證的來賓訪問”電腦去訪問局域網同事電腦的共享文件夾,提示如下錯誤,如何解決?解決辦法:到本地組策略中,“啟動不安全的來賓登錄”解決。使用鍵盤快捷鍵“...
2026-05-18
oppo手機的深度垃圾怎麼清理
oppo手機的深度垃圾怎麼清理
許多人說oppo手機用久了非常卡頓,其實是你們不懂得如何清理垃圾而已,小編今天所說的就是教大家如何清理OPPO手機上的垃圾。下面我們一起來看看吧。1、基礎清理在手機管家中有一個“清理儲存空間”功能,相信身邊很多使用OPPO手機的人,都在使用...
2026-05-18
控油祛痘洗面奶推薦排行
控油祛痘洗面奶推薦排行
祛痘洗面奶測評:能夠深層清潔肌膚和控油,讓肌膚感到柔軟舒适!惜玥雙連續相潔面凝露這是一款洗卸合一的潔面産品,平時我們會用到的防曬,或是一般淡妝,用它都可以輕松卸除。這款潔面運用到雙連續相結構,其中含有親水和親油兩種表活劑,另外複配了氨基酸表...
2026-05-18
坦克世界亞服服務器無反應
坦克世界亞服服務器無反應
遊戲登入不上,浪費的高級賬号360官方是不是應該補償,大家怎麼說說看!,
2026-05-18
Copyright 2023-2026 - www.tftnews.com All Rights Reserved