zoukankan      html  css  js  c++  java
  • 根据名字,获取线程,进程。

    // GameCapture.cpp : 定义控制台应用程序的入口点。
    //
    #include <Windows.h>
    #include "stdafx.h"
    #include "game-capture.h"
    #include <TlHelp32.h>
    #include <iostream>
    using namespace std;

    #define debug(a) cout<<a<<endl;

    DWORD GetProcessIDFromName(WCHAR* szName)
    {
    DWORD id = 0; // 进程ID
    PROCESSENTRY32 pe; // 进程信息
    pe.dwSize = sizeof(PROCESSENTRY32);
    HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); // 获取系统进程列表
    if (Process32First(hSnapshot, &pe)) // 返回系统中第一个进程的信息
    {
    do
    {
    if (0 == wcscmp(pe.szExeFile, szName)) // 不区分大小写比较
    {
    id = pe.th32ProcessID;
    break;
    }
    } while (Process32Next(hSnapshot, &pe)); // 下一个进程
    }
    CloseHandle(hSnapshot); // 删除快照
    return id;
    }

    DWORD GetMainThreadId(DWORD ProcessID)
    {
    THREADENTRY32 te;
    DWORD ThreadID;
    te.dwSize = sizeof(THREADENTRY32);
    HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);


    if (Thread32First(hSnapshot, &te)) // 第一个线程
    {
    do
    {
    if (ProcessID == te.th32OwnerProcessID) // 认为找到的第一个该进程的线程为主线程
    {
    ThreadID = te.th32ThreadID;
    break;
    }
    } while (Thread32Next(hSnapshot, &te)); // 下一个线程
    }
    CloseHandle(hSnapshot); // 删除快照
    return ThreadID;
    }


    int main()
    {
    printf("My Begin ");
    DWORD ProcessID = GetProcessIDFromName( (WCHAR*)L"CosClient.exe");
    DWORD ThreadID = GetMainThreadId(ProcessID);
    debug(ProcessID);
    debug(ThreadID);


    printf("My End ");
    getchar();
    return 0;
    }

  • 相关阅读:
    BE Learing 2 名词解释
    mysql学习笔记(二)之一个粗心的问题
    Struts2/XWork < 2.2.0远程执行任意代码漏洞分析及修补
    DataReceivedEventHandler 委托
    JS数组方法汇总 array数组元素的添加和删除
    jQuery学习总结(一)
    js的lock
    mysql学习笔记(一)之mysqlparameter
    Time Span Attack
    Web Vulnerability Scanner 7.0 Patch for 2010_09_21_01
  • 原文地址:https://www.cnblogs.com/clover-xuqi/p/8310540.html
Copyright © 2011-2022 走看看