在g ++中使用Windows API获取COM设备信息

时间:2019-04-21 22:00:01

标签: windows c++ api

我正在用g ++编译的C ++编写程序,可与USB设备通信。 USB设备由Arduino Mega控制。如您所知,有很多Arduino克隆版本。例如,我正在试验Elegoo,而我将用于最终产品的实际电路板是原始的Arduino Mega。一个拥有4个COM端口,另一个拥有5个COM端口。另外,谁能说这些COM端口在另一台计算机上是相同的?因此,在我的程序中,我希望能够检测到板子插入了哪个COM。但是,出现错误“未定义对'GUID_DEVCLASS_PORTS的引用”。我使用以下行进行编译:

$link = array();

array_push($link, addLink("https://forums.website.com;Forums"));
array_push($link, addLink("https://donate.website.com;Donate"));

print_r($link);

我的代码开始如下:

import requests
from bs4 import BeautifulSoup

url = "https://www.gebiz.gov.sg/ptn/supplier/directory/index.xhtml"

headers = {
    'Content-Type': 'application/x-www-form-urlencoded',
    'User-Agent': 'Mozilla/5.0',
    'Referer' : 'https://www.gebiz.gov.sg/ptn/supplier/directory/index.xhtml',
    'Accept' : 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
    'Accept-Encoding' : 'gzip, deflate, br',
    'Accept-Language' : 'en-US,en;q=0.9',
    'Cache-Control' : 'max-age=0',
    'Connection' : 'keep-alive',
    'Cookie' : '__cfduid=d3fe47b7a0a7f3ef307c266817231b5881555951761; wlsessionid=pFpF87sa9OCxQhUzwQ3lXcKzo04j45DP3lIVYylizkFMuIbGi6Ka!1395223647; BIGipServerPTN2_PRD_Pool=52519072.47873.0000'
}

with requests.Session() as s:
    r = s.get(url, headers= headers)
    soup = BeautifulSoup(r.text,"lxml")
    payload = {
        'contentForm': 'contentForm',
        'contentForm:search': 'Search',
        'contentForm:j_idt185_select': 'SUPPLIER_NAME',
        'javax.faces.ViewState': soup.select_one('[id="javax.faces.ViewState"]')['value']
    }
    res = s.post(url,data=payload,headers= headers)
    sauce = BeautifulSoup(res.text,"lxml")
    item = sauce.select_one(".formOutputText_HIDDEN-LABEL.outputText_TITLE-BLACK").text
    print(item)

我在Microsoft MSDN参考页中列出了必需的附件。我使用了-l命令来添加所需的setupapi库。我使用-m命令使其成为Windows GUI构建。我看不到为什么会收到错误消息。谁能提供任何建议?谢谢!

0 个答案:

没有答案