最近,任务管理器不时冒出多个rundll32.exe,偶用360工具一一查看其加载的dll,没发现不安全的,可用手工一一将之杀死,但不知何时突然又多了起来,十分讨厌,用360,德国小红伞检测未发现异常,仿佛对系统未造成伤害,只是慢慢在侵吞内存,谷歌了一下,没有理想答案,于是乎,我想自己编程找出到底是哪个进程在不时地创建rundll32.exe进程,要遍历进程我知道怎么做,但要实时监控到底是哪个“凶手”在不时地创建rundll32.exe进程,我就有点不知所错。
解决方案 »
- 求高手救命,cximage的问题
- CGridCtrl问题
- 第一次学C++,不知道学习C++是用什么软件!
- 请问如何把一个类加到项目里
- 求教:在程序运行过程中出现一段内存不能为Write的提示,然后程序会中断,请问这种现象一般是什么问题引起的,有什么好的办法可以解决?
- 请问怎么样完整的删除一个类
- vc不出提示如何办?
- 急问一个有关VC读文件的问题,请各位大侠帮忙呀!!!!
- 我做的控件插入到网页里,怎么才能让没有这个控件的人可以下载使用啊?
- 如何得到某软件的安装时间?注册表中有没有哪项是专门记录软件安装时间的?如果某软件不在注册表里写他的安装时间,是不是就得不到了?
- CSDN 穷疯了, 到处是广告,一个技术论坛,广告怎么做学习 codeproject
- VC6.0中win32的图片解码
DWORD CRegister::GetParentProcessID(DWORD dwId)
{
if(!NtQueryInformationProcess)
NtQueryInformationProcess = (PROCNTQSIP)GetProcAddress(GetModuleHandle(TEXT("NTDLL.dll")),"NtQueryInformationProcess"); LONG status;
DWORD dwParentPID = (DWORD)-1;
HANDLE hProcess;
PROCESS_BASIC_INFORMATION pbi;
// Get process handle
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION,FALSE,dwId);
if (!hProcess)
return (DWORD)-1;
// Retrieve information
status = NtQueryInformationProcess( hProcess,
ProcessBasicInformation,
(PVOID)&pbi,
sizeof(PROCESS_BASIC_INFORMATION),
NULL
);
// Copy parent Id on success
if (!status)
dwParentPID = pbi.InheritedFromUniqueProcessId;
CloseHandle (hProcess);
return dwParentPID;
}