用qt做上位機,使用串列埠通訊時,想自動掃瞄串列埠裝置,即在下拉列表框中,只顯示已有的串列埠。
本來挺簡單的,只要輪詢hkey_local_machine\hardware\devicemap\serialcomm就能找到已有的串列埠,但qt的qsettings有個bug,如果鍵名裡有斜槓'/',則讀出的鍵值就是空的。參考別人使用api函式讀取鍵值的文章,寫了下面這個函式。
uint32 comportinfo(qstringlist *qslkeyvallist)
//3.排序
// 因為字串排序 "com12" < "com3", 所以不能簡單地qstringlist.sort()
// 故先提取出數字, 再按數字排序, 再附加上字首com
qsort(qltmp);
for (uint32 i=0; i
// 檢查本機串列埠裝置
qstringlist qslkeyvallist;
uint32 uicomcount = comportinfo(&qslkeyvallist);
if(uicomcount == 0)
qmessagebox::about(null, "錯誤", "本機無串列埠裝置,請檢查串列埠線");
qdebug() << qstring("=== 本機有%1個串列埠:").arg(uicomcount) << qslkeyvallist;
通過登錄檔修改MAC位址
通過登錄檔修改mac位址 2008 11 13 mac位址是繫結在網絡卡上的乙個12位 16進製制字元,它們在出廠的時候已經固化在網絡卡中,它是網絡卡在網路中的身份識別。有很多網路環境中都用到了ip和 mac繫結的情況。而 mac位址是先調入記憶體中後傳輸出去的,所以,我們可以通過修改其 mac位址...
通過登錄檔修改tcp ip篩選
regedit e d 1.reg hkey local machine system controlset001 services tcpip 匯出登錄檔裡關於tcp ip篩選的第一處 d test.exe regedit e d 2.reg hkey local machine system c...
通過登錄檔使用動態庫
在.h檔案的宣告 兩個巨集指明了登錄檔中鍵所在的位置 define sp reg path software xfs service providers define logicalname tisreceiptprinter 為指向動態庫中函式指標定義指標類別名,用於宣告該型別的指標 typede...