• <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)論排行榜

            精品久久人人做人人爽综合| 久久精品国产亚洲一区二区三区| 久久国产欧美日韩精品免费| 久久久精品波多野结衣| 日日狠狠久久偷偷色综合免费 | 人妻丰满?V无码久久不卡| 久久国产香蕉视频| 久久天天躁狠狠躁夜夜不卡| 精品999久久久久久中文字幕 | 精品人妻久久久久久888| 99久久国产亚洲高清观看2024 | 国产精品久久新婚兰兰| 久久精品无码专区免费东京热| 久久噜噜电影你懂的| 久久亚洲精品成人无码网站| 91精品国产高清久久久久久91 | 久久亚洲AV成人无码| 久久青青草原精品影院| 天堂久久天堂AV色综合| 欧美久久久久久精选9999| 国产精品青草久久久久婷婷| 久久这里只有精品首页| 久久久久黑人强伦姧人妻| 一本久久a久久精品综合夜夜| 性做久久久久久久| 三级韩国一区久久二区综合| 久久福利青草精品资源站免费| 久久午夜无码鲁丝片| 亚洲AV日韩精品久久久久| 97精品国产97久久久久久免费| 亚洲精品乱码久久久久久蜜桃| 精品久久久久中文字| 99久久精品免费看国产| 青青草国产成人久久91网| 久久免费视频观看| 91麻豆精品国产91久久久久久| 精品久久久久久久| 国产成人精品久久| 久久天天躁狠狠躁夜夜av浪潮 | 久久久亚洲AV波多野结衣| 久久精品人人做人人爽电影|