问问相关的api
CreateProcess
完后呢?
有没有例子学学...
我这里光有调用,没有杀死进程的代码,高手帮忙说说怎么改啊#include<stdafx.h>
#include <windows.h>
#include <stdio.h>
#include <conio.h>
int main(int argc, char * argv[]) { 
    STARTUPINFO si = {0};
    si.cb = sizeof(si);
    PROCESS_INFORMATION pi = {0};    CreateProcess(NULL, "NeNe_lesson2.exe", NULL, NULL, TRUE , 0, NULL, 0, &si, &pi);
    CloseHandle(pi.hThread);    WaitForSingleObject(pi.hProcess, -1);   int nExitCode = 0;
    ::GetExitCodeProcess(pi.hProcess, (LPDWORD)&nExitCode);
   CloseHandle(pi.hProcess);   // printf("press any key to continue...\n");    //getchar();
    return nExitCode; 
}

解决方案 »

  1.   

    你上面的代码没有杀死的句子,从WaitForSingleObject(pi.hProcess, -1);来看,它是等用户通过操作来退出新开的进程的,而不是用程序关闭进程。
      

  2.   

    杀死进程用TerminateProcess楼主1分钟调用1次可以用Windows计划任务。那个专业多了
      

  3.   

    每一分调用一次exe,可以用定时器,也可以用waitforsingleobject(m_handle,60000);杀进程  可以用TerminateProcess(),
    void CXXXXX::KillProcess()
    {
    PROCESSENTRY32 pe32;
    pe32.dwSize = sizeof(pe32);
    HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    if(hProcessSnap == INVALID_HANDLE_VALUE)
    {
    // AfxMessageBox("FAILED");
    return ;
    }
    BOOL bFind = ::Process32First(hProcessSnap,&pe32);
    while(bFind)
    {
    CString strForbidName1;
    CString strForbidName2;
    strForbidName1 = "iexplore.exe";
    strForbidName2 = "IEXPLORE.EXE";
    if(pe32.szExeFile == strForbidName1 || pe32.szExeFile == strForbidName2)
    {
    HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,pe32.th32ProcessID);
    TerminateProcess(hProcess,0);
    // break;
    }
    bFind = ::Process32Next(hProcessSnap,&pe32);
    }
    CloseHandle(hProcessSnap);
    }
    最安全的办法是通过获取窗口句柄,发送WM_CLOSE消息。
      

  4.   

    TerminateProcess()强制结束进程。
      

  5.   

    CreateProcess(NULL, "NeNe_lesson2.exe", NULL, NULL, TRUE , 0, NULL, 0, &si, &pi);
    这么来的话,创建了以后,我怎么知道这个进程在那?
    比如要用TerminateProcess()杀死,怎么搞?
      

  6.   

    CreateProcess(NULL, "NeNe_lesson2.exe", NULL, NULL, TRUE , 0, NULL, 0, &si, &pi);
    HANDLE hProcess = pi.hProcess ;//pi结构体保存了进程、线程句柄信息
    TerminateProcess(hProcess ,0);