• 创建进程 和 列出所有进程


    STARTUPINFO si = {sizeof(si)};
    PROCESS_INFORMATION pi;
    char * szCommandLine = "cmd";
    si.dwFlags = STARTF_USESHOWWINDOW;
    si.wShowWindow = TRUE;
    BOOL bRet =::CreateProcess(
    NULL,
    szCommandLine,
    NULL,
    NULL,
    0,
    CREATE_NEW_CONSOLE,
    NULL,
    NULL,
    &si,
    &pi);
    if(bRet)
    {
    ::CloseHandle(pi.hProcess);
    ::CloseHandle(pi.hThread);
    printf("新进程的 进程ID为 %d \n",pi.dwProcessId);
    printf("新线程的 线程ID为 %d \n",pi.dwThreadId);
    }

    int index=0;
    PROCESSENTRY32 pe32;
    pe32.dwSize = sizeof(pe32);
    HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    if(hProcessSnap == INVALID_HANDLE_VALUE)
    {
    printf("CreateToolhelp32Snapshow error!");
    return -1;
    }
    BOOL bMore = ::Process32First(hProcessSnap,&pe32);
    //::ExitProcess(0);
    while(bMore)
    {
    printf("**************%d**************\n",++index);
    printf("process name :%s \n",pe32.szExeFile);
    printf("process ID :%d \n",pe32.th32ProcessID);
    printf("thread nums:%d \n",pe32.cntThreads);

    if(!strcmp(pe32.szExeFile,"QQ.exe"))
    {
    //::EnumProcesses(
    DWORD dExitCode;
    HANDLE hProcess = ::OpenProcess(PROCESS_ALL_ACCESS,FALSE,pe32.th32ProcessID);
    ::GetExitCodeProcess(hProcess,&dExitCode);
    if(STILL_ACTIVE==dExitCode)
    {
    printf("%s存在!\n",pe32.szExeFile);
    }
    else
    {
    printf("%s不存在!\n",pe32.szExeFile);
    }
    if(hProcess!=NULL)
    {
    TerminateProcess(hProcess,0);
    printf("######结束%s成功!########\n",pe32.szExeFile);
    }
    ::GetExitCodeProcess(hProcess,&dExitCode);
    if(STILL_ACTIVE==dExitCode)
    {
    printf("%s存在!\n",pe32.szExeFile);
    }
    else
    {
    printf("%s不存在!\n",pe32.szExeFile);
    }
    ::CloseHandle(hProcess);

    }
    printf("进程创建线程的基本优先级 %d\n\n",pe32.pcPriClassBase);
    bMore = ::Process32Next(hProcessSnap,&pe32);
    }
    ::CloseHandle(hProcessSnap);



    作者:BuildNewApp
    出处:http://syxchina.cnblogs.comBuildNewApp.com
    本文版权归作者、博客园和百度空间共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则作者会诅咒你的。
    如果您阅读了我的文章并觉得有价值请点击此处,谢谢您的肯定1。
  • 相关阅读:
    coolSQL安装与使用
    测试经验--测试流程总结
    测试经验--测试用例结构设计
    python 爬虫与数据可视化--数据提取与存储
    python 爬虫与数据可视化--爬虫基础知识
    在Eclipse中用TODO标签管理任务(Task)
    Web性能优化:图片优化
    Firebug入门指南
    Git远程操作详解
    Firebug控制台详解
  • 原文地址:https://www.cnblogs.com/syxchina/p/2197678.html
Copyright © 2020-2023  润新知