如何用c语言或c++实现监控系统进程,如果系统进程有变化,找到制定的进程就结束他
我想用实现一个功能,监控系统的进程,等系统进程出现变化的时候,就检查该变化的进程中有没有指定关闭进程,有的话就关闭他。如果哪位大虾能给出大体代码的话再加50分...
我想用实现一个功能 ,监控系统的进程,等系统进程出现变化的时候,就检查该变化的进程中 有没有指定关闭进程,有的话 就关闭他。如果哪位大虾能给出大体代码的话 再加50分
展开
4个回答
展开全部
首先要提升权限
这段程序可终止指定窗口所属进程
#include "tlhelp32.h"
void KillProcess(HWND hWnd)
{
DWORD lpdwProcessId;
GetWindowThreadProcessId(hWnd, &lpdwProcessId);
PROCESSENTRY32 my;
HANDLE l = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (((int)l) != -1)
{
my.dwSize = sizeof(my);
if (Process32First(l, &my))
{
do
{
if (my.th32ProcessID == lpdwProcessId)
{
HANDLE hProcessHandle;
hProcessHandle = OpenProcess(0x1F0FFF, true, my.th32ProcessID);
if (hProcessHandle != NULL)
{
if (TerminateProcess(hProcessHandle, 0) != NULL)
{
CloseHandle(hProcessHandle);
}
}
CloseHandle(l);
return;
}
}while (Process32Next(l, &my));
}
CloseHandle(l);
}
}
这段程序可终止指定窗口所属进程
#include "tlhelp32.h"
void KillProcess(HWND hWnd)
{
DWORD lpdwProcessId;
GetWindowThreadProcessId(hWnd, &lpdwProcessId);
PROCESSENTRY32 my;
HANDLE l = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (((int)l) != -1)
{
my.dwSize = sizeof(my);
if (Process32First(l, &my))
{
do
{
if (my.th32ProcessID == lpdwProcessId)
{
HANDLE hProcessHandle;
hProcessHandle = OpenProcess(0x1F0FFF, true, my.th32ProcessID);
if (hProcessHandle != NULL)
{
if (TerminateProcess(hProcessHandle, 0) != NULL)
{
CloseHandle(hProcessHandle);
}
}
CloseHandle(l);
return;
}
}while (Process32Next(l, &my));
}
CloseHandle(l);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
浙江启扬智能科技有限公司
2023-06-12 广告
2023-06-12 广告
不一定,ARM架构的嵌入式开发可以基于uc/os、Linux、Windows等操作系统,而不一定要使用LINUX操作系统。在ARM架构上,Windows和Linux都是可以使用的,而且许多嵌入式系统开发工具也都是支持这两种操作系统的。因此,...
点击进入详情页
本回答由浙江启扬智能科技有限公司提供
展开全部
去看API CreateToolhelp32Snapshot
用户层无法被动响应进程相关事件。
用户层无法被动响应进程相关事件。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我有个类似的,可以给你参考。
百度Hi我。我一直在线。
百度Hi我。我一直在线。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个题目太大了.在这个<知道>里你将得不到有用的答案.来错地方了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询