在外部程序执行之前运行

想在程序运行之前运行我的一个程序,外部注入啊,钩子啊神马的又不会,苦思冥想之后耍下流氓
int CQQDlg::killpro(CString process)//CString a是进程名称
{
	PROCESSENTRY32 pe32;
	pe32.dwSize =sizeof(pe32);
	HANDLE hpro=::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
	if(hpro==INVALID_HANDLE_VALUE)
	{  
		return 0;
	}

	BOOL nowrun=Process32First(hpro,&pe32);
	while(nowrun)
	{
		if(pe32.szExeFile == process)
		{
			DWORD proid=pe32.th32ProcessID;
			HANDLE hprocess=::OpenProcess(PROCESS_ALL_ACCESS,FALSE,proid);
			if(hprocess != NULL)
			{
				::TerminateProcess(hprocess,0);
				::CloseHandle(hprocess);

				return 1;
			}
		}
		nowrun=::Process32Next(hpro,&pe32);
	}
	return 0;
}

void CQQDlg::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	CString str;

	if(!killpro("QQProtect.exe"))
		return;

	MessageBox("我先执行了!");

	ShellExecute(NULL, NULL, "C:\\Program Files\\Tencent\\QQ\\QQProtect\\Bin\\QQProtect.exe",NULL,NULL,SW_HIDE);
	Sleep(1000);

	KillTimer(1);
	CDialog::OnTimer(nIDEvent);
}

你可能感兴趣的:(在外部程序执行之前运行)