游戏安全2-C,C++ 利用Windows API 获取进程PID

学习目标:
认识进程PID
认识线程TID

FindWindowA
GetWindowThreadProcessId //返回线程TID和进程PID

DWORD GetWindowThreadProcessId(
  [in]            HWND    hWnd,
  [out, optional] LPDWORD lpdwProcessId
);

/*
参数
[in] hWnd
类型:HWND
窗口的句柄。
[out, optional] lpdwProcessId
类型: LPDWORD
指向接收进程标识符的变量的指针。 如果此参数不为 NULL, GetWindowThreadProcessId 会将进程的标识符复制到 变量;否则,它不会。
返回值
类型:DWORD
如果函数成功,则返回值是创建窗口的线程的标识符。 如果窗口句柄无效,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。
*/


学习目标:
认识进程PID
认识线程TID 

FindWindowA
GetWindowThreadProcessId //返回线程TID和进程PID

植物大战僵尸中文版
MainWindow


 

#include <iostream>
#include<Windows.h>
int main()
{
     //1 通过窗口标题或者类名 获取目标窗口句柄
	 //2 通过窗口句柄获取进程的PID,TID
	HWND h = FindWindowA("MainWindow", "植物大战僵尸中文版");
	printf("窗口句柄 h=%p\r\n", h);
	DWORD pid=0, tid=0;
	printf("&pid=%p\r\n", &pid);
	// int 和long是等价
	//DWORD  等价于 unsigned long 
	//DWORD* 等价于 LPDWORD
	tid=GetWindowThreadProcessId(h, &pid); // a&b
	printf("tid=%d pid=%d  16进制tid=%X 16进制pid=%X\r\n", tid, pid,tid,pid);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值