惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
G
Google Developers Blog
博客园 - 司徒正美
J
Java Code Geeks
aimingoo的专栏
aimingoo的专栏
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
WordPress大学
WordPress大学
T
The Blog of Author Tim Ferriss
D
Docker
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
腾讯CDC
V
Visual Studio Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
C
Check Point Blog
M
MIT News - Artificial intelligence
Jina AI
Jina AI
I
InfoQ
雷峰网
雷峰网
The Cloudflare Blog
美团技术团队
Engineering at Meta
Engineering at Meta

博客园 - dtor

TD-SCDMA小区初搜方法研究 (转) 面试题 the beginning of gidplus vc任务栏隐藏 sql 连接字符串 xml 留言本 - dtor - 博客园 浮动 div javascript 读写xml --2 - dtor VC编译优化设置 javascript读写 xml - dtor - 博客园 vector 转 array 线程基础知识 VC++ 环 境 下 利 用 管 道 和 线 程 实 现 进 程 间 通 信 Windows管道技术 Windows下多线程编程技术及其实现 error LNK2001: unresolved external symbol _WinMain@16 ATL布幔下的秘密之窗口类的秘密(果冻) atl中的mfc线程 VC制作工具条
关闭进程. - dtor - 博客园
dtor · 2006-09-15 · via 博客园 - dtor

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++;
                }
            }
        }
    }