天天看点

进程相关信息

#include <Windows.h> 

#include <tchar.h> 

#include <stdio.h> 

#define MyAlloc(size) HeapAlloc(GetProcessHeap(),0,size) 

#define MyFree(lpMem) HeapFree(GetProcessHeap(),0,lpMem) 

typedef struct _PROCESS_INFO{ 

    DWORD dwPid; 

    HANDLE hProcess; 

    DWORD dwPrioClass; 

    DWORD dwHandleCount; 

    DWORD dwAffinityMask; 

    SIZE_T dwWorkingSetSizeMax; 

    SIZE_T dwWorkingSetSizeMin; 

    LPWSTR szwCommandLine; 

    STARTUPINFO sit; 

}PROCESS_INFO,*LPPROCESS_INFO; 

HANDLE hMySelf; 

DWORD GetProcessInfo(LPPROCESS_INFO lppi); 

int WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow){ 

    PROCESS_INFO pi; 

    INT argc; 

    WCHAR **argv; 

    DWORD i; 

    DWORD dwBufferSize = lstrlen(lpCmdLine)+MAX_PATH+1024; 

    LPSTR szShowBuffer = (LPSTR)MyAlloc(dwBufferSize); 

    hMySelf = hInstance; 

    wsprintf(szShowBuffer,"启动参数\n实例句柄:%.8X,命令行参数:%s,显示选项:%.8X",hInstance,lpCmdLine,nCmdShow); 

    MessageBox(NULL,szShowBuffer,"WinMain函数参数",MB_OK); 

    GetProcessInfo(&pi); 

    argv = CommandLineToArgvW(pi.szwCommandLine,&argc); 

    *szShowBuffer = NULL; 

    for(i=0;i<argc;i++){ 

        DWORD dwBufferSize = lstrlenW(*argv)+1; 

        LPSTR szMBArgv = MyAlloc(dwBufferSize); 

        WideCharToMultiByte(CP_ACP,NULL,*argv,-1,szMBArgv,dwBufferSize,NULL,NULL); 

        argv++; 

        lstrcat(szShowBuffer,"\n"); 

        lstrcat(szShowBuffer,szMBArgv); 

        MyFree(szMBArgv); 

    } 

    MessageBox(NULL,szShowBuffer,"参数",MB_OK); 

    MyFree(szShowBuffer); 

    return 0; 

DWORD GetProcessInfo(LPPROCESS_INFO lppi){ 

    lppi->dwPid = GetCurrentProcessId(); 

    lppi->hProcess = GetCurrentProcess(); 

    lppi->dwPrioClass = GetPriorityClass(hMySelf); 

    GetProcessAffinityMask(hMySelf,&lppi->dwAffinityMask,NULL); 

    GetProcessWorkingSetSize(hMySelf,&lppi->dwWorkingSetSizeMin,&lppi->dwWorkingSetSizeMax); 

    lppi->szwCommandLine = GetCommandLineW(); 

    GetStartupInfo(&lppi->sit); 

本文转hackfreer51CTO博客,原文链接:http://blog.51cto.com/pnig0s1992/628807,如需转载请自行联系原作者

继续阅读