首页
/
每日頭條
/
科技
/
c語言如何查看串口号
c語言如何查看串口号
更新时间:2026-05-24 19:46:17

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

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
推荐阅读
小米路由器連接不上網絡怎麼辦
小米路由器連接不上網絡怎麼辦
1、路由器中設置問題:根據統計的數據來看,隻是90%的用戶,都是因為路由器中的相關設置不正确,才導緻的路由器連不上網。所以,這一部分的内容非常的重要,建議新手多閱讀幾次,請嚴格按照文中方法去操作。2、選擇正确的上網方式:在第一次設置小米路由器4上網的時候,系統會自動檢測、選擇上網方式。系統自動選擇的...
2026-05-24
vivo紅外被異常遮擋怎麼辦
vivo紅外被異常遮擋怎麼辦
1、在手機裡點擊打開設置。2、在設置裡,點擊更多設置。3、進入更多設置後,選擇恢複出廠設置。4、然後點擊還原所有設置。5、在跳出的對話框裡點擊還原即可。
2026-05-24
補過兩次的車胎可以跑高速嗎
補過兩次的車胎可以跑高速嗎
1、首先說補胎的問題。輪胎被紮,然後去補胎,這是很正常的事情。一般來說,隻要輪胎修補沒有問題,補過兩次胎并不影響車輛開高速。2、現在大部分補胎都選擇貼片式和蘑菇釘兩種方式。貼片式修補就是用貼片從汽車輪胎内側将紮孔處封住,這種方式價格比較便宜,但是真正破損的地方還是暴露在外,沒有得到任何修複,破損處很容易随着輪胎的使用越來越大,并且修補的貼片如果沒有處理好也存在掉落的風險。3、一般要跑高速前确認修補
2026-05-24
沒有4g網怎麼回事
沒有4g網怎麼回事
以華為P40,Android11系統為例:查看手機卡是否支持4G業務,是否選擇了4G網絡模式。确認所在區域是否覆蓋4G網絡,換其他地點嘗試。關機重新啟動或者換卡嘗試。若無效,建議備份手機中的數據(聯系人、信息、照片等),恢複出廠設置嘗試。若問題依然存在,請您攜帶購機發票、包修卡和機器送到服務中心,由專業的售後工程師幫助檢測。
2026-05-24
數控車床如何新建加工程序
數控車床如何新建加工程序
1、首先在編輯方式選擇程序畫面,程序開關為開。才能編程。2、在編輯方式下選擇程序畫面(顯示兩個,一個是程序号,一個是程序内容。)在程序内容那個畫面,用鍵輸入地址O,用鍵輸入程序号,按插入鍵,按EOB鍵,(輸入;”号)。通過這個操作把程序号存儲起來,之後把程序中每個地址字,數據字用鍵輸入。然後按插入鍵把程序存儲起來。3、注:每次隻能輸入一個地址和數字如(X10),一個程序段結束必須按EO
2026-05-24
Copyright 2023-2026 - www.tftnews.com All Rights Reserved