• <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>

            Error

            C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
              217 Posts :: 61 Stories :: 32 Comments :: 0 Trackbacks
            //刷新
            void CTaskerDlg::Refresh()
            {
            DWORD NewProcessID[200];
            int NewProcessTotal;
            //獲得所有ID
            DWORD  cbNeeded;
            if ( !EnumProcesses( NewProcessID, sizeof(NewProcessID), &cbNeeded ) )  //receive all the Process ID Saved in aProcesses
            {::MessageBox(NULL,TEXT(""),TEXT("Can not EnumProsses"),0);return;}
            NewProcessTotal = cbNeeded / sizeof(DWORD); //the total of Process ID
            //假如沒有ID總數(shù)沒有變化,則無需更新列表
            if (NewProcessTotal==OldProcessTotal)
            return;
            //全部清除
            m_list.DeleteAllItems();
            m_imagelist.DeleteImageList( );
            //設(shè)置圖標(biāo)
            m_imagelist.Create(16,16,ILC_COLORDDB,2,2); //創(chuàng)建CImageList 16,16是圖標(biāo)的大小
            m_list.SetImageList(&m_imagelist,LVSIL_SMALL);//把CListCtrl中的CImageList聯(lián)   
            int nItem=0;
            HANDLE hProcess = NULL; //進(jìn)程句柄
            TCHAR szProcessName[MAX_PATH] ={0}; //進(jìn)程的名稱
            TCHAR szProcessPath[MAX_PATH] ={0}; //進(jìn)程路徑
            HMODULE hMod=NULL; //進(jìn)程的第一個(gè)模塊
                DWORD ModulecbNeeded; //儲(chǔ)存進(jìn)程模塊的大小
            SHFILEINFO stFileInfo;
            char buf[10];
            for (int i = 0; i < NewProcessTotal; i++ )
            {
            hProcess = OpenProcess( PROCESS_QUERY_INFORMATION |PROCESS_VM_READ,FALSE, NewProcessID[i]);//get the handle of every Process which is Indentified by Process ID
                    if ( EnumProcessModules( hProcess, &hMod, sizeof(hMod), &ModulecbNeeded) ) // 列舉某個(gè)進(jìn)程的模塊,第一個(gè)模塊就是創(chuàng)建此進(jìn)程的主exe程序 
            {
            if (    GetModuleBaseName( hProcess, hMod, szProcessName, sizeof(szProcessName) ) //獲得程序名
                && GetModuleFileNameEx( hProcess, hMod, szProcessPath, sizeof(szProcessPath))  )//獲得模塊路徑
            {
            //獲取圖標(biāo)
            :: SHGetFileInfo(szProcessPath,0, &stFileInfo,sizeof(stFileInfo),SHGFI_ICON|SHGFI_SMALLICON ); //添加圖標(biāo)到m_imagelist (CImageList m_imagelist)
            //向m_imagelist添加圖標(biāo)
            int n=m_imagelist.Add(stFileInfo.hIcon);
            //把程序名,路徑,進(jìn)程ID添加到ClistCtrl
            m_list.InsertItem(nItem, szProcessName,n);//插入1行"11"代表第0列的數(shù)據(jù) 參數(shù)(行數(shù),標(biāo)題,圖標(biāo)索引)
            m_list.SetItemText(nItem, 2, szProcessPath);
            //更新Processdata[nItem].ID
            Processdata[nItem].ID=NewProcessID[i];
            //更新進(jìn)程CPU使用率
            m_list.SetItemText(nItem, 1, itoa( GetProcessUsage(&Processdata[nItem]) ,buf,10) );
            //改變nItem
            nItem++;
            }
            }
            CloseHandle(hProcess);
            }
            //更新OldProcessID
            OldProcessTotal=NewProcessTotal;
            }
            //刪除進(jìn)程
            void CTaskerDlg::OnDeleteProcess() 
            {
            //獲得選中的行
            int nItem;
            POSITION   pos   =   m_list.GetFirstSelectedItemPosition();   
            if   (pos   !=   NULL)   
                    while   (pos)   
            nItem=m_list.GetNextSelectedItem(pos);   
            //關(guān)閉進(jìn)程
            HANDLE hProcess = OpenProcess(  PROCESS_TERMINATE, FALSE, Processdata[nItem].ID );
            if( NULL != hProcess )
            {
            if(IDOK==MessageBox("確定要?jiǎng)h除此進(jìn)程嗎?","提示",MB_OKCANCEL) )
            {
            if( TerminateProcess( hProcess, 0 ) )
            {
            CloseHandle( hProcess );
            //刪除CListCtrl上的項(xiàng)
            m_list.DeleteItem(nItem);
            }
            else
            MessageBox("不能結(jié)束進(jìn)程!");
            }
            else 
            CloseHandle(hProcess);
            }
            }
            posted on 2014-01-16 00:11 Enic 閱讀(304) 評(píng)論(0)  編輯 收藏 引用

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


            四虎国产永久免费久久| 漂亮人妻被黑人久久精品| 久久夜色精品国产亚洲| 久久综合五月丁香久久激情| 久久99国产精品久久99小说 | 日本欧美久久久久免费播放网| 性欧美丰满熟妇XXXX性久久久| 久久99国产精品久久99| 伊人 久久 精品| 国内精品免费久久影院| 久久综合给合久久狠狠狠97色69| 久久久久黑人强伦姧人妻| 国产精品美女久久久久久2018| 欧美伊人久久大香线蕉综合69 | 国产精品午夜久久| 亚洲国产精品无码久久久蜜芽| 久久精品国产99久久香蕉| 国产高潮国产高潮久久久| 久久久久久曰本AV免费免费| 久久国产精品免费一区| 中文精品久久久久国产网址| 99re这里只有精品热久久| 久久久噜噜噜久久中文字幕色伊伊| 日韩精品国产自在久久现线拍 | 久久精品成人免费观看97| 久久99国产精品99久久| 91精品国产高清久久久久久io | 久久久无码精品亚洲日韩按摩| 日本精品一区二区久久久| 久久久久99精品成人片牛牛影视 | 久久久国产精华液| 精品久久人人爽天天玩人人妻| 久久香蕉国产线看观看99| 国内精品久久久久影院一蜜桃| 亚洲AV日韩精品久久久久久| 99久久免费国产精品特黄| 久久亚洲日韩看片无码| 囯产精品久久久久久久久蜜桃| 伊人久久大香线蕉综合影院首页 | 欧美精品乱码99久久蜜桃| 久久精品中文无码资源站|