c++写系统 代码
时间: 2023-12-23 16:03:00 浏览: 130
c++《车票管理系统》源代码
5星 · 资源好评率100%
编写一个完整的系统是一项非常复杂的任务,需要考虑各种因素,例如硬件平台、操作系统、应用程序等等。这里仅提供一个简单的示例,演示如何使用C++编写一个简单的系统服务程序。该程序将监视系统中的所有进程,并在发现新进程时向管理员发送电子邮件通知。
```
#include <iostream>
#include <windows.h>
#include <tchar.h>
#include <psapi.h>
#define MAX_PROCESSES 1024
#define MAX_PROCESS_NAME 1024
void SendEmailNotification(const char* message)
{
// Code to send email notification to administrator
}
void MonitorProcesses()
{
DWORD processes[MAX_PROCESSES], cbNeeded;
if (!EnumProcesses(processes, sizeof(processes), &cbNeeded))
{
std::cerr << "Error: Unable to enumerate processes.\n";
return;
}
int numProcesses = cbNeeded / sizeof(DWORD);
for (int i = 0; i < numProcesses; ++i)
{
HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, processes[i]);
if (hProcess)
{
HMODULE hMod;
DWORD cbNeeded;
if (EnumProcessModules(hProcess, &hMod, sizeof(hMod), &cbNeeded))
{
char szProcessName[MAX_PROCESS_NAME];
if (GetModuleBaseNameA(hProcess, hMod, szProcessName, sizeof(szProcessName)))
{
// Process name found, do something with it
std::cout << "Found process: " << szProcessName << std::endl;
SendEmailNotification(szProcessName);
}
}
CloseHandle(hProcess);
}
}
}
int main(int argc, char* argv[])
{
while (true)
{
MonitorProcesses();
Sleep(5000); // Sleep for 5 seconds before monitoring again
}
return 0;
}
```
这个示例程序使用了Windows API来获取系统中所有进程的信息,并且通过电子邮件通知管理员。虽然这只是一个简单的示例,但是它演示了C++如何与操作系统进行交互,以及如何编写系统服务程序。
阅读全文