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

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

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

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

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

1234567891011121314
C++

#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 库来获取系统活动信息。使用第三方库可以更加方便快捷地获取系统活动及可用串口。