最近,我需要通過C++實現MFC中的一個小函數,該函數用於獲取可用串口的列表。然後我看到了this。我需要知道什麼是SetupAPI1和SetupAPI2?當我想用這種方式來實現我的功能時,我在哪裏可以獲得setup.dll
?在搜索互聯網時,我發現有一個SetupAPI,但它似乎是另一個。現在,我非常困惑這些SetupAPI,SetupAPI1和SetupAPI2。有什麼區別?他們來自哪裏?而且,如果我想要使用它們,我怎麼能得到它們?什麼是SetupAPI,SetupAPI1和SetupAPI2?他們之間有什麼區別?
回答
沒有這樣的想法像SetupAPI1和SetupAPI2。有一個名爲SetupAPI的庫。
這個答案你鏈接到引用名爲EnumSerialPort庫。從這個頁面:
內部代碼提供了9種不同的方式(是的,你沒看錯:九)枚舉串口:使用的CreateFile,QueryDosDevice,GetDefaultCommConfig,使用安裝程序API,EnumPorts兩種方式,WMI,玉米數據庫&枚舉註冊表項HKEY_LOCAL_MACHINE \ HARDWARE \ DEVICEMAP \ SERIALCOMM下的值。
...
所有由以下預處理值來控制該代碼的構成的:CENUMERATESERIAL_USE_STL,_AFX,NO_ENUMSERIAL_USING_CREATEFILE,NO_ENUMSERIAL_USING_QUERYDOSDEVICE,NO_ENUMSERIAL_USING_GETDEFAULTCOMMCONFIG,NO_ENUMSERIAL_USING_SETUPAPI1,NO_ENUMSERIAL_USING_SETUPAPI2,NO_ENUMSERIAL_USING_ENUMPORTS,NO_ENUMSERIAL_USING_WMI,NO_ENUMSERIAL_USING_COMDB & NO_ENUMSERIAL_USING_REGISTRY。
這個庫提供了兩種不同的方法,依賴於SetupAPI,並簡單地給它們一個和兩個數字。您可以通過以下鏈接查看這些詳細信息和更多信息。
噢,非常感謝!直到我看到了答案,我終於實現了EnumSerialPort的9種方式。除了引用EnumSerialPort還有其他方法,如CreateFile,註冊表鍵...可以列出串行端口。所以,當我看到我沒有意識到的9種方式時,都提到了EnumSerialPort。我多麼愚蠢。 – Sophie
- 1. 他們之間有區別,如果有,它是什麼?
- 2. 什麼是OLTP和OLAP。他們有什麼區別?
- 3. 什麼是CSS選擇器':'和'::'?他們有什麼區別?
- 4. 「setNeedsUpdateConstraints」和「layoutIfNeeded」之間的區別是什麼?他們什麼時候會被叫?
- 5. $(())和expr之間的區別是什麼?
- 6. $和$ .fn之間的區別是什麼?
- 7. ++和:haskell之間的區別是什麼?
- 8. $(「」)和$ .find(「」)之間的區別是什麼?
- 9. 「\」和「\。」之間的區別是什麼?
- 10. 「$ | ++」和「$ | = 1」之間的區別是什麼
- 11. $(...)和`...`之間的區別是什麼
- 12. .equals()和==之間的區別是什麼?
- 13. [undefined]和[,]之間的區別是什麼?
- 14. 「層」和「層」之間有什麼區別?
- 15. Tableau和QlikView之間有什麼區別
- 16. Microsoft.CompilerServices.AsyncTargetingPack和Microsoft.Bcl.Async之間有什麼區別?
- 17. @Entity和@embeddable之間有什麼區別
- 18. ContentObservable和DataSetObservable之間有什麼區別?
- 19. touchmove和gesturechange之間有什麼區別?
- 20. :notification.flags和notification.defaults之間有什麼區別?
- 21. proc和lambda之間有什麼區別?
- 22. :: after和after之間有什麼區別?
- 23. read()和io.read()之間有什麼區別?
- 24. Request()和Request.Form()之間有什麼區別?
- 25. WebServiceBinding.EmitConformanceClaims和WebServiceBinding.ConformanceClaims之間有什麼區別?
- 26. getA()和this.getA()之間有什麼區別?
- 27. (int)和intval()之間有什麼區別?
- 28. set_value和= pandas之間有什麼區別
- 29. * zoom和zoom之間有什麼區別?
- 30. {0}和「」之間有什麼區別?
的[SO鏈接](http://stackoverflow.com/questions/1388871/)你提到指向[EnumSerialPorts v1.27(http://www.naughter.com/enumser.html),寫PJ女兒。 EnumSerialPorts中的函數SetupAPI1()和SetupAPI2()都使用Windows設備管理器「SetupDi」API。這正是您在帖子中詢問的[SetupAPI](https://msdn.microsoft.com/en-us/library/windows/hardware/ff550855%28v=vs.85%29.aspx)。 '希望有所幫助! – paulsm4
非常感謝!這是幫助。 – Sophie