一、使用C++获取系统活动

C++提供了多种方式来获取系统活动,可以使用操作系统提供的API,或者使用第三方库来实现。其中,Windows提供的API可以使用Windows Management Instrumentation(WMI)来实现,Linux则可以使用/proc文件系统来获取系统活动信息。

二、使用C++获取可用的串口及其名称

在Windows系统中,可以使用CreateFile函数打开COM端口,如果打开成功,则说明该端口可用,可以使用QueryDosDevice函数来查询COM端口的名称。

下面是使用C++获取可用的COM端口及其名称的代码示例:

#include <Windows.h>
#include <iostream>
#include <string>
#include <vector>

using namespace std;

int main()
{
vector<string> coms;
for (int i = 0; i < 10; i++)
{
string comName = "COM" + to_string(i);
HANDLE hCom = CreateFileA(comName.c_str(), GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
if (hCom != INVALID_HANDLE_VALUE)
{
char buffer[100];
if (QueryDosDeviceA(comName.c_str(), buffer, 100))
{
coms.push_back(buffer);
}
CloseHandle(hCom);
}
}
for (auto com : coms)
{
cout << com << endl;
}
return 0;
}

三、使用第三方库获取系统活动及可用串口

除了使用操作系统提供的API获取系统活动及可用串口外,还可以使用第三方库来实现。例如,Windows系统可以使用Boost.Asio库来获取可用的串口及其名称,Linux系统可以使用libudev库来获取系统活动信息。使用第三方库可以更加方便快捷地获取系统活动及可用串口。