#include <stdio.h>
#include <Windows.h>

#include <tlhelp32.h> //进程id取进程名需要次头文件

DWORD 窗口句柄_取进程id(HWND hwnd){
	DWORD dword = 0;;
	GetWindowThreadProcessId(hwnd, &dword);
	return dword;
}
void 进程_id取进程名(DWORD 进程id,char* nameBuf){
	HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
	PROCESSENTRY32 pe32;
	nameBuf[0] = 0;
	if (hProcessSnap != INVALID_HANDLE_VALUE)
	{
		pe32.dwSize = 296;
		BOOL boo = Process32Next(hProcessSnap, &pe32);
		while (boo){
			if (pe32.th32ProcessID == 进程id){
				memcpy(nameBuf, pe32.szExeFile, strlen(pe32.szExeFile)+1);
				break;
			}
			boo = Process32Next(hProcessSnap, &pe32);
		}
		CloseHandle(hProcessSnap);
	}
}


int main(){
	DWORD 进程id = 窗口句柄_取进程id((HWND)3215688);
	char name[250];
	进程_id取进程名(进程id, name);
	printf(name);
	printf("\r\n%d", (int)进程id);
	getchar();
	return 0;
}


相关推荐

WindowsAPi 高频窗口控件函数: 操作控件 创建 取句柄 取标题文本 置标题 置文本

Win32API提供了一系列的函数来操作控件高频常用控件函数:类型说明GetDlgItem根据控件ID,取控件句柄GetDlgItemText根据控件ID,取控件文本GetDlgItemInt根据控件

打开editplus函数列表窗口 文本库目录 每了怎么调出

editplus窗口不知道是不是bug

MFc(1):c语言/c++ 纯APi 创建窗口 底层原理

Visual Studio直接创建一个空项目控件的创建请参考:http://qingzhouquanzi.com/287.html新建一个 后缀为 .c 或者 .cpp文件#include <w

c++调试输出到输出窗口

//例子:调试输出("%d和%d\\n", 123,500);void 调试输出(const char * strOutputString, ...){ #define PUT_P

c++ 纯APi创建窗口与控件 包括窗口的写法

//纯API创建窗口 底层代码 #include <windows.h> //如果出现该符号在函数中被引用需要配置:项目-》属性->配置属性->连接器=》系统 子系统 设

c++MFc基于对话框的 如何新建一个窗口

第一步:调出资源视图,添加一个dialog添加后,这个 ID是可以随意修改的(在属性里)第二步:在可视化编辑界面上面 点击右键.为这个对话框 添加类,名字一般以大写C开头类创建完毕后,会自动生成 类名

c++ char与wchar_t的区别 windows中APi函数后面带A和W的区别

C++基本数据类型中表示字符的有两种: char、wchar_t。char叫多字节字符,一个char占1个字节,之所以叫多字节字符是因为它表示一个英文字符时是一个字节,而中文字符时是多个字节。wcha

c++ string类用法与简介 (构造函数原理)

string 这类字符串事实上是定义的一个模板类basic_string使用必须包含头文件 #include <string> 和使用命名空间 using namespace stdstr

c++字符串(string char)操作函数大全

字符串拼接查找与替换:字符串比较字符串存取字符串插入和删除string子串(子文本)功能描述:·查找:查找指定字符串是否存在·替换:在指定的位置替换字符串函数原型://查找str第一次出现位置,从pO

c++ windows应用 口函数WinMain详解

入口函数WinMain详解类似于C程序的main函数,Win32应用程序也有一个入口函数WinMain,该函数被系统自动调用函数原型:int WINAPI WinMain( HINSTANCE hI