想在程序运行之前运行我的一个程序,外部注入啊,钩子啊神马的又不会,苦思冥想之后耍下流氓
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);
}