• <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)打開,否則沒(mé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 閱讀(2795) 評(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)論   


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            導(dǎo)航

            <2025年5月>
            27282930123
            45678910
            11121314151617
            18192021222324
            25262728293031
            1234567

            統(tǒng)計(jì)

            常用鏈接

            留言簿(1)

            隨筆檔案

            收藏夾

            同行

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            亚洲人成无码www久久久| 日韩精品国产自在久久现线拍| 久久婷婷色综合一区二区| 久久久亚洲精品蜜桃臀| 思思久久好好热精品国产| 东京热TOKYO综合久久精品| 四虎国产永久免费久久| 四虎国产精品成人免费久久| 99精品久久久久久久婷婷 | 久久婷婷人人澡人人| 亚洲精品tv久久久久久久久| 久久精品国内一区二区三区| 亚洲国产视频久久| 99久久夜色精品国产网站| 久久久久亚洲精品日久生情| 夜夜亚洲天天久久| 久久久久亚洲av综合波多野结衣 | 成人a毛片久久免费播放| 中文无码久久精品| 久久久久久无码国产精品中文字幕 | 99久久国产热无码精品免费| 久久亚洲精品无码播放| 久久综合九色综合精品| 亚洲精品无码专区久久久| 久久久久久国产a免费观看黄色大片| 久久久青草久久久青草| 久久棈精品久久久久久噜噜| 午夜视频久久久久一区 | 久久久久久久综合日本亚洲 | 久久久久国产| 99久久精品免费观看国产| 国内精品久久久人妻中文字幕| 久久无码国产专区精品| 性做久久久久久久久| 久久久久一本毛久久久| 久久精品国产WWW456C0M| 国产精品免费久久久久久久久| 国产精品久久久久久福利漫画 | 久久久91精品国产一区二区三区 | 久久影院久久香蕉国产线看观看| 九九精品99久久久香蕉|