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;
    }

  • 相关阅读:
    physicslectureGriavity
    electromagnetic
    dp
    physicsmechanic wave
    C# 2.0 Specification(迭代器)(二)
    C#类、接口、虚方法和抽象方法接口与抽象类的区别实例
    web.config connectionStrings 数据库连接字符串的解释(转载)
    onpropertychange事件
    C#中ParameterizedThreadStart和ThreadStart区别
    C# 文件操作全收录
  • 原文地址:https://www.cnblogs.com/clover-xuqi/p/8310540.html
Copyright © 2011-2022 走看看