CString m_st_processName="";
CString m_st_findProcessName="MonitorClient.exe"; //关闭的程序名
DWORD m_i_processID=0;
HANDLE hProcess;
int m_i_runProcessNum=0;
//EnumProcesses方法
DWORD m_allProcessArray[1024], m_i_arraySize, m_i_processNum;
unsigned int m_i_index=0;
HMODULE hMod;//句柄
char m_szProcessName[1024]="";//获取名称
// 获取进程标识列表.
if ( !EnumProcesses( m_allProcessArray, sizeof(m_allProcessArray), &m_i_arraySize ))
{
// return FALSE;
AfxMessageBox(_T("找不到"));
}
//计算有多少个进程.
m_i_processNum = m_i_arraySize / sizeof(DWORD);
//查找每个进程.
for ( m_i_index = 0; m_i_index < m_i_processNum; m_i_index++ )
{
m_i_processID=m_allProcessArray[m_i_index];
hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_TERMINATE |PROCESS_VM_READ,FALSE, m_i_processID );
// 获取进程名称.
if ( hProcess )
{
if ( EnumProcessModules( hProcess, &hMod, sizeof(HMODULE),&m_i_arraySize))
{
GetModuleBaseName( hProcess, hMod, m_szProcessName, sizeof(m_szProcessName) );
m_st_processName.Format("%s",m_szProcessName);
if(m_st_processName.Find(m_st_findProcessName)>=0)
{
TerminateProcess(hProcess,0); //这里可以进来,但是运行后,无法关闭进程
CloseHandle(hProcess); //进程在任务管理器中还存在,不知道为什么
m_i_runProcessNum++;
}
}
}
}
CString m_st_findProcessName="MonitorClient.exe"; //关闭的程序名
DWORD m_i_processID=0;
HANDLE hProcess;
int m_i_runProcessNum=0;
//EnumProcesses方法
DWORD m_allProcessArray[1024], m_i_arraySize, m_i_processNum;
unsigned int m_i_index=0;
HMODULE hMod;//句柄
char m_szProcessName[1024]="";//获取名称
// 获取进程标识列表.
if ( !EnumProcesses( m_allProcessArray, sizeof(m_allProcessArray), &m_i_arraySize ))
{
// return FALSE;
AfxMessageBox(_T("找不到"));
}
//计算有多少个进程.
m_i_processNum = m_i_arraySize / sizeof(DWORD);
//查找每个进程.
for ( m_i_index = 0; m_i_index < m_i_processNum; m_i_index++ )
{
m_i_processID=m_allProcessArray[m_i_index];
hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_TERMINATE |PROCESS_VM_READ,FALSE, m_i_processID );
// 获取进程名称.
if ( hProcess )
{
if ( EnumProcessModules( hProcess, &hMod, sizeof(HMODULE),&m_i_arraySize))
{
GetModuleBaseName( hProcess, hMod, m_szProcessName, sizeof(m_szProcessName) );
m_st_processName.Format("%s",m_szProcessName);
if(m_st_processName.Find(m_st_findProcessName)>=0)
{
TerminateProcess(hProcess,0); //这里可以进来,但是运行后,无法关闭进程
CloseHandle(hProcess); //进程在任务管理器中还存在,不知道为什么
m_i_runProcessNum++;
}
}
}
}