实现代码如下,代码在vs2013和vs2017都通过测试:
#include "stdafx.h"
#include
#include
int main(int argc, char* argv[])
{
while (true) {
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (INVALID_HANDLE_VALUE == hSnapshot)
{
return 0;
}
PROCESSENTRY32 pi;
pi.dwSize = sizeof(PROCESSENTRY32);
BOOL bRet = Process32First(hSnapshot, &pi);
bool w1 = false;
bool w2 = false;
while (bRet)
{
if (!wcscmp(L"watch.exe", pi.szExeFile)) {
w1 = true;
}
else if (!wcscmp(L"asker.exe", pi.szExeFile)) {
w2 = true;
}
bRet = Process32Next(hSnapshot, &pi);
}
if (!w1) {
WinExec("C://windows//watch.exe", SW_SHOWMAXIMIZED);
}
if (!w2) {
WinExec("C://windows//asker.exe", SW_SHOWMAXIMIZED);
}
Sleep(3000);
}
return 0;
}
CreateProcess函数,创建进程,其他的百度吧
要用WINDOWS API, 这个不是C++的概念了。。。。。。
HANDLE hProces = CreateWindow(......);
while(true) {
WaitForSingleObject(hProcess, INFINITE);
CreateWindow(...);
}
或者你也可以拦截结束进程的TerminateProcess API
百度: CreateProcess 、 WaitForSingleObject 、 Hook API
已鉴定,楼主是想弄病毒。
同步COM+应用程序所用的IWAM_MYSERVER的密码