成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

利用 Qt 4.1.0 讀取注冊表獲得串口信息

移動開發
本文介紹的是利用 Qt 4.1.0 讀取注冊表獲得串口信息,關于串口的更多內容,請看末尾,有更多資料,先來看內容。

利用 Qt 4.1.0 讀取注冊表獲得串口信息是本文要介紹的內容,內容不多,用代碼解決實際問題,先來看內容!前段時間做串口開發,想做自動掃描串口設備功能 遇到問題現在終于解決程序寫得不是很好,功能實現了。按照此方法應該能夠掃描到其他硬件。

我遇到的問題:

使用QSettings時 對于注冊表串口信息中的 \Device\Serial0 這種key值 無法找到其value 是 \ 斜杠問題。

解決方法是 首先調用:

  1. QString path="HKEY_LOCAL_MACHINE\\HARDWARE\\DEVICEMAP\\SERIALCOMM";  
  2. QSettings *settings=new QSettings(path,QSettings::NativeFormat);  
  3. QStringList key=settings->allKeys();  
  4. int num=(int)key.size(); 

得到注冊表中有多少個串口設備

然后使用win api得到 key 和 value 程序源碼如下:QString  getcomm(int index,QString keyorvalue)返回key  或者 value
                                                                                                                     
.h文件

  1. #ifndef READCOM_H  
  2. #define READCOM_H  
  3. #include <QMessageBox> 
  4. #include <qt_windows.h> 
  5. #include <QtGui/QMainWindow> 
  6. class Readcom  
  7. {  
  8. public:  
  9.     Readcom();  
  10.     ~Readcom();  
  11. private:      
  12.      HKEY hKey;  
  13.     LPCWSTR subkey;  
  14.     wchar_t keyname[256]; //鍵名數組  
  15.      char keyvalue[256];  //鍵值數組  
  16.      DWORD keysize,type,valuesize;  
  17.     int indexnum;  
  18. public:  
  19.      QString getcomm(int index,QString keyorvalue); //讀取鍵名  
  20.      //QString getvalue(int index);//讀取鍵值  
  21.     };  
  22. #endif // READCOM_H 

.cpp 文件

  1. #include "readcom.h"  
  2. Readcom::Readcom()      
  3. {  
  4. }  
  5. Readcom::~Readcom()  
  6. {  
  7. }  
  8. QString Readcom::getcomm(int index,QString keyorvalue)  
  9. {    
  10.     QString commresult="";  
  11.     QString strkey="HARDWARE\\DEVICEMAP\\SERIALCOMM";//子鍵路徑  
  12.     subkey=strkey.ucs2();//類型轉換  
  13.     if(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,subkey,0,KEY_READ,&hKey)!=0)  
  14.      {  
  15.          QString error="Cannot open regedit!";//無法打開注冊表時返回error  
  16.          return error;  
  17.        }//if(::RegOpenKeyEx(HKEY_LOCAL_MACHINE,subkey,0,KEY_READ,&hKey)!=0)  
  18.   QString keymessage="";//鍵名  
  19.   QString message="";  
  20.   QString valuemessage="";//鍵值  
  21.   indexindexnum=index;//要讀取鍵值的索引號  
  22.     keysize=sizeof(keyname);  
  23.     valuesize=sizeof(keyvalue);  
  24.      if(::RegEnumValue(hKey,indexnum,keyname,&keysize,0,&type,(BYTE*)keyvalue,&valuesize)==0)//列舉鍵名和值  
  25.       {      
  26.            for(int i=0;i<keysize;i++)      
  27.              {   
  28.                  message=keyname;  
  29.                  keymessage.append(message);  
  30.                }// for(int i=0;i<=keysize;i++)    讀取鍵名  
  31.            for(int j=0;j<valuesize;j++)  
  32.                {  
  33.                  if(keyvalue[j]!=0x00)   
  34.                  { valuemessage.append(keyvalue[j]);}  
  35.                }//for(int j=0;j<valuesize;j++) 讀取鍵值  
  36.            if(keyorvalue=="key")  
  37.              {  
  38.                commresult=keymessage;  
  39.              }  
  40.            if(keyorvalue=="value")  
  41.              {  
  42.                commresult=valuemessage;  
  43.              }  
  44.      }  
  45.      else  
  46.      {  
  47.          commresult="nokey";  
  48.      } //if(::RegEnumValue(hKey,indexnum,keyname,&keysize,0,&type,(BYTE*)keyvalue,&valuesize)==0) 列舉鍵名和值  
  49.  
  50.   return commresult;  
  51. ::RegCloseKey(hKey);//關閉注冊表  

小結:利用 Qt 4.1.0 讀取注冊表獲得串口信息的內容介紹完了,希望本文對你有所幫助,更多內容請參考編輯推薦!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-04-21 09:10:16

2011-08-09 17:15:45

注冊表注冊表編輯器

2011-08-04 16:37:09

注冊表編輯器注冊表

2011-09-15 10:36:49

注冊表windows7系統盤

2010-11-23 14:19:12

MySQL注冊表

2009-08-19 13:25:53

C#操作注冊表

2011-08-03 15:30:29

注冊表注冊表編輯器

2011-06-27 10:05:11

Qt Qt4.7.0 SDK

2009-08-21 09:43:49

C#編輯注冊表

2023-06-29 07:45:07

注冊表Windows系統

2011-08-04 11:11:59

2011-03-17 11:24:15

2011-08-04 15:20:19

注冊表注冊表編輯器

2011-08-04 09:37:11

注冊表

2011-08-04 16:26:20

注冊表編輯器

2010-09-09 17:13:06

2011-08-05 15:02:17

注冊表Registry To

2009-07-03 13:12:59

Windows CE

2017-08-09 16:24:46

2011-08-04 16:49:33

注冊表注冊表編輯器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: www.国产.com | 久久天堂 | 国产精品成人一区二区三区 | 国产视频精品在线 | 欧美精品在线观看 | 男人的天堂久久 | 国产精品99久久久久久久久久久久 | 国产综合精品一区二区三区 | 欧美一区二区在线观看视频 | 成人av免费在线观看 | 亚洲一区视频在线播放 | 欧美成人视屏 | 二区精品 | 国产免费一区二区 | 天天久久 | 黄色在线免费观看 | 国产免费一区二区三区网站免费 | 欧美国产精品 | 欧美伊人| 久久剧场 | 又黄又色| 久久精品免费 | 欧美又大粗又爽又黄大片视频 | 国产成人精品一区二区 | 亚洲欧美一区二区三区视频 | 中文字幕av一区 | 中国美女一级黄色片 | 欧美午夜影院 | 亚洲va欧美va天堂v国产综合 | 日韩在线观看一区二区三区 | 免费看91| 欧美高清免费 | 黄色av大片| 国产高清一区二区三区 | 九九热热九九 | 久久久久久亚洲精品 | 久精品视频 | 免费黄色大片 | 污污的网站在线观看 | 国产区在线观看 | 亚洲免费精品 |