欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

C++如何實(shí)現(xiàn)掃描系統(tǒng)進(jìn)程

這篇文章將為大家詳細(xì)講解有關(guān)C++如何實(shí)現(xiàn)掃描系統(tǒng)進(jìn)程,小編覺得挺實(shí)用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯(lián)公司是專業(yè)的特克斯網(wǎng)站建設(shè)公司,特克斯接單;提供網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行特克斯網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

把做工程過程比較重要的一些代碼片段備份一次,如下代碼是關(guān)于C++掃描系統(tǒng)進(jìn)程的代碼。

#include <windows.h>  
#include <tlhelp32.h>  
#include <tchar.h>  
#include <stdio.h>  
#include<iostream>  
using namespace std;  
int main()  
{  
    HANDLE hProcessSnap;  
    HANDLE hProcess;  

    if(hProcessSnap == INVALID_HANDLE_VALUE)  
    {  
        cout<<"快照創(chuàng)建失敗"<<endl;  
        return 0;  
    }  
    pe32.dwSize = sizeof(PROCESSENTRY32);  
    if(Process32First( hProcessSnap, &pe32) == NULL)  
    {  
        cout<<"error"<<endl;  
        CloseHandle(hProcessSnap);  

    }  
    int i = 0;  
    do{  
        cout<<"------------"<<i++<<"個進(jìn)程------------------------"<<endl;  
        _tprintf( TEXT("nPROCESS NAME: %s"), pe32.szExeFile );  
        cout<<endl;  
        cout<< "Process ID = "<< pe32.th42ProcessID <<endl;  
        cout<< "Thread count = "<<pe32.cntThreads <<endl;   
        cout<< "Parent process ID = "<< pe32.th42ParentProcessID <<endl;;   
        cout<< "Priority base = "<< pe32.pcPriClassBase <<endl;   
    }while( Process32Next( hProcessSnap, &pe32) );  
    return 0;  

}  

當(dāng)然,上面程序是我從一個程序中摘出來的,這是源程序,忘了引用的哪了,如果作者看到,請告知引用地址。這個程序?qū)崿F(xiàn)了對系統(tǒng)進(jìn)程,單個進(jìn)程和線程的快照,主要還是拿幾個函數(shù),有時(shí)間的話做一個可視化的,和大家分享

#include <windows.h>  
#include <tlhelp32.h>  
#include <tchar.h>  
#include <stdio.h>  
BOOL GetProcessList( );  
BOOL ListProcessModules( DWORD dwPID );  
BOOL ListProcessThreads( DWORD dwOwnerPID );  
void main( )  
{   
    GetProcessList( );  
}  
BOOL GetProcessList( )  
{   
    HANDLE hProcessSnap;   
    HANDLE hProcess;   
    hProcessSnap = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );   
    CreateToolhelp32Snapshot函數(shù)為指定的進(jìn)程、進(jìn)程使用的堆[HEAP]、模塊[MODULE]、線程[THREAD])建立一個快照[snapshot]。    
    if( hProcessSnap == INVALID_HANDLE_VALUE )   
    {   
        printError( TEXT("CreateToolhelp32Snapshot (of processes)") );   
        return( FALSE );   
    if( !Process32First( hProcessSnap, &pe32 ) )   
    {   
        ( FALSE );   
    do {  
        printf( "nn=====================================================" );   
        _tprintf( TEXT("nPROCESS NAME: %s"), pe32.szExeFile );   
        dwPriorityClass = 0;   
        hProcess = OpenProcess( PROCESS_ALL_ACCESS, FALSE, pe32.th42ProcessID );   
        OpenProcess 函數(shù)用來打開一個已存在的進(jìn)程對象,并返回進(jìn)程的句柄?! ?nbsp;
        if( hProcess == NULL )  
            printError( TEXT("OpenProcess") );   
        else {   
            dwPriorityClass = GetPriorityClass( hProcess );   
            if( !dwPriorityClass )   
                printError( TEXT("GetPriorityClass") );   
            CloseHandle( hProcess );   
        }   
        printf( "n Process ID = 0x%08X", pe32.th42ProcessID );   
        printf( "n Thread count = %d", pe32.cntThreads );   
        printf( "n Parent process ID = 0x%08X", pe32.th42ParentProcessID );   
        printf( "n Priority base = %d", pe32.pcPriClassBase );   
        if( dwPriorityClass )   
    } while( Process32Next( hProcessSnap, &pe32 ) );  
    CloseHandle( hProcessSnap );   
    return( TRUE );  
}  
BOOL ListProcessModules( DWORD dwPID )  
{  
    HANDLE hModuleSnap = INVALID_HANDLE_VALUE;   
    hModuleSnap = CreateToolhelp32Snapshot( TH32CS_SNAPMODULE, dwPID );  
    if( hModuleSnap == INVALID_HANDLE_VALUE )   
    {  
        printError( TEXT("CreateToolhelp32Snapshot (of modules)") );   
        return( FALSE );  
    if( !Module32First( hModuleSnap, &me32 ) )   
    {  
        return( FALSE );  
    do {  
        _tprintf( TEXT("nn MODULE NAME: %s"), me32.szModule );  
        _tprintf( TEXT("n Executable = %s"), me32.szExePath );  
        printf( "n Process ID = 0x%08X", me32.th42ProcessID );  
        printf( "n Ref count (g) = 0x%04X", me32.GlblcntUsage );  
        printf( "n Ref count (p) = 0x%04X", me32.ProccntUsage );  
        printf( "n Base address = 0x%08X", (DWORD) me32.modBaseAddr );   
        printf( "n Base size = %d", me32.modBaseSize );  
    } while( Module32Next( hModuleSnap, &me32 ) );   
    CloseHandle( hModuleSnap );   
    return( TRUE );  
}  
BOOL ListProcessThreads( DWORD dwOwnerPID )   
{   
    HANDLE hThreadSnap = INVALID_HANDLE_VALUE;   
    hThreadSnap = CreateToolhelp32Snapshot( TH32CS_SNAPTHREAD, 0 );   
    if( hThreadSnap == INVALID_HANDLE_VALUE )   
    if( !Thread32First( hThreadSnap, &te32 ) )   
    {  
        return( FALSE );  
    do {   
        if( te32.th42OwnerProcessID == dwOwnerPID )   
        {   
            printf( "nn THREAD ID = 0x%08X", te32.th42ThreadID );   
            printf( "n Base priority = %d", te32.tpBasePri );  
            printf( "n Delta priority = %d", te32.tpDeltaPri );   
        }   
    } while( Thread32Next(hThreadSnap, &te32 ) );   
    CloseHandle( hThreadSnap );   
    return( TRUE );  
}  
{   
    DWORD eNum;   
    TCHAR sysMsg[256];   
    eNum = GetLastError( );   
    p = sysMsg;  
        ++p;   
    do {  
    _tprintf( TEXT("n WARNING: %s failed with error %d (%s)"), msg, eNum, sysMsg );  
}

關(guān)于“C++如何實(shí)現(xiàn)掃描系統(tǒng)進(jìn)程”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

文章名稱:C++如何實(shí)現(xiàn)掃描系統(tǒng)進(jìn)程
本文地址:http://chinadenli.net/article12/ihgpdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google網(wǎng)站策劃、域名注冊、ChatGPT、電子商務(wù)、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
麻豆一区二区三区在线免费| 久久青青草原中文字幕| 99国产精品国产精品九九| 欧美成人精品国产成人综合| 千仞雪下面好爽好紧好湿全文| 日韩欧美一区二区久久婷婷| 国产成人亚洲欧美二区综| 中文人妻精品一区二区三区四区| 欧美午夜视频免费观看| 精品人妻一区二区三区免费看| 91麻豆精品欧美视频| 国产又色又粗又黄又爽| 国产成人一区二区三区久久| 国产免费一区二区三区不卡| 国产三级视频不卡在线观看| 日本不卡在线视频中文国产 | 亚洲欧美日产综合在线网| 色婷婷视频国产一区视频| 免费在线播放一区二区| 国产一区二区三区精品免费| 中文字幕久久精品亚洲乱码| 欧美一级片日韩一级片| 欧美亚洲国产日韩一区二区| 亚洲伦片免费偷拍一区| 五月天六月激情联盟网| av在线免费观看在线免费观看| 91日韩欧美国产视频| 久久精品国产亚洲av麻豆| 欧美国产极品一区二区| 日韩在线欧美一区二区| 日韩亚洲精品国产第二页| 好吊妞视频这里有精品| 久久亚洲精品成人国产| 中文字幕日韩一区二区不卡| 丰满人妻一二区二区三区av| 欧美中文字幕日韩精品| 在线视频免费看你懂的| 国产精品免费不卡视频| 一区二区三区欧美高清| 日韩欧美中文字幕人妻| 国产视频福利一区二区|