• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            windows 下進(jìn)程是否啟動(dòng)檢測(cè)

            在最近做的一個(gè)項(xiàng)目中需要用到檢測(cè)進(jìn)程狀態(tài)的功能,在網(wǎng)上兜了半圈,普遍介紹的方法有三種:
            1. 是利用GetExitCodeProcess(pi.hProcess,&dwExitCode);通過(guò)看dwExitCode返回值是不是STILL_ACTIVE,依然活動(dòng),說(shuō)明存在;
            2 .waitforsingleobject,通過(guò)超時(shí)來(lái)判斷,具體的實(shí)現(xiàn)方法可以去網(wǎng)上查,
            3. openprocess,通過(guò)返回值來(lái)判斷,如果返回值為NULL則表示進(jìn)程已經(jīng)打開(kāi),否則沒(méi)有打開(kāi)。
            上面3個(gè)方法別人都說(shuō)行,也有人說(shuō)有局限性,就拿openprocess來(lái)說(shuō)吧,自己在測(cè)試是發(fā)現(xiàn)線程關(guān)掉了但是返回值還是NULL,郁悶啊~~,沒(méi)辦法只能用最土的辦法來(lái)解決這個(gè)問(wèn)題,
            4. load系統(tǒng)的進(jìn)程表,看進(jìn)程id是不是匹配,匹配則表示正在運(yùn)行,否則就已經(jīng)掛了,代碼如下:
            #include <Tlhelp32.h>

            //如果有運(yùn)行,返回進(jìn)程的true,沒(méi)運(yùn)行返回false
            bool ProcessExist(DWORD process_id) 

            PROCESSENTRY32 pe; 
            DWORD id = 0; 
            HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); 
            pe.dwSize = sizeof(PROCESSENTRY32); 
            if( !Process32First(hSnapshot,&pe) ) 
            {
              CloseHandle(hSnapshot);
              return false;
            }
             
            while(1) 

            pe.dwSize = sizeof(PROCESSENTRY32); 
            if( Process32Next(hSnapshot,&pe)==FALSE ) 
            {
              CloseHandle(hSnapshot);
              return false;
            }
            if(process_id == pe.th32ProcessID) 


              CloseHandle(hSnapshot);
              return true;
             


            }

            posted on 2012-08-22 16:55 sheng 閱讀(2804) 評(píng)論(3)  編輯 收藏 引用

            評(píng)論

            # re: windows 下進(jìn)程是否啟動(dòng)檢測(cè) 2012-08-22 21:39 augustheart

            不用互斥對(duì)象么?  回復(fù)  更多評(píng)論   

            # re: windows 下進(jìn)程是否啟動(dòng)檢測(cè) 2012-08-23 08:48 sheng

            這個(gè)沒(méi)有必要用互斥對(duì)象吧,只是讀進(jìn)程表而已@augustheart
              回復(fù)  更多評(píng)論   

            # re: windows 下進(jìn)程是否啟動(dòng)檢測(cè) 2012-08-29 16:01 leng

            這種方法還有缺陷的
            如果在多用戶的機(jī)器下, 不同的用戶下看不到對(duì)方用戶下的進(jìn)程   回復(fù)  更多評(píng)論   

            導(dǎo)航

            <2016年4月>
            272829303112
            3456789
            10111213141516
            17181920212223
            24252627282930
            1234567

            統(tǒng)計(jì)

            常用鏈接

            留言簿(1)

            隨筆檔案

            收藏夾

            同行

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            国产精品久久久久天天影视| 人妻少妇精品久久| 久久精品一本到99热免费| 国产香蕉久久精品综合网| 国产精品99久久久精品无码| 久久夜色精品国产噜噜麻豆| 久久国产精品久久久| 久久综合九色综合久99| 无码人妻久久一区二区三区免费丨 | 99久久国产综合精品网成人影院 | 伊人久久综合无码成人网| 狠狠色丁香久久婷婷综合| 久久免费美女视频| 伊人久久大香线蕉精品不卡| 国产精品福利一区二区久久| 日韩精品久久久久久久电影| 久久99精品久久久久久久不卡 | 久久久久久国产精品无码下载| 久久精品免费网站网| 一本色综合网久久| 欧美伊人久久大香线蕉综合69| 69久久精品无码一区二区| 一本久久a久久精品综合夜夜 | 久久午夜综合久久| 国产成人久久激情91| 亚洲欧美日韩中文久久| 亚洲欧美精品一区久久中文字幕 | 中文字幕热久久久久久久| 99久久精品费精品国产 | 精品久久久久中文字| 国产精品一区二区久久| 香蕉久久久久久狠狠色| 欧美久久综合性欧美| 一级做a爱片久久毛片| 久久精品水蜜桃av综合天堂| 久久久久久综合网天天| 久久精品国产亚洲av麻豆图片| 久久亚洲国产最新网站| 久久无码人妻精品一区二区三区 | 狠狠色丁香久久婷婷综合| 久久精品国产清自在天天线|