自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

利用 Qt 4.1.0 讀取注冊表獲得串口信息是本文要介紹的內(nèi)容,內(nèi)容不多,用代碼解決實際問題,先來看內(nèi)容!前段時間做串口開發(fā),想做自動掃描串口設(shè)備功能 遇到問題現(xiàn)在終于解決程序?qū)懙貌皇呛芎?,功能實現(xiàn)了。按照此方法應(yīng)該能夠掃描到其他硬件。

我遇到的問題:

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

解決方法是 首先調(diào)用:

  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(); 

得到注冊表中有多少個串口設(shè)備

然后使用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]; //鍵名數(shù)組  
  15.      char keyvalue[256];  //鍵值數(shù)組  
  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();//類型轉(zhuǎn)換  
  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);//關(guān)閉注冊表  

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

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

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系統(tǒng)盤

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系統(tǒng)

2011-08-04 11:11:59

2011-03-17 11:24:15

2009-07-03 13:12:59

Windows CE

2011-08-04 16:49:33

注冊表注冊表編輯器

2017-08-09 16:24:46

2011-08-04 09:37:11

注冊表

2011-08-04 15:20:19

注冊表注冊表編輯器

2011-08-05 15:02:17

注冊表Registry To

2010-09-09 17:13:06

2011-08-04 16:26:20

注冊表編輯器
點贊
收藏

51CTO技術(shù)棧公眾號