关于获取进程ID的问题 我利用文件内存映射实现主进程与自进程的通讯。作为内存共享数据的文件句柄是以子进程ID号为准。问题是,主进程创建子进程后,如何获取子进程的ID号,使用哪个API函数?愿听高见! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 实在是看不懂你的问题!! 如果是使用CreateProcess来创建另一个进程的话,你传递的PROCESS_INFORMATION结构体中返回后回保存这个新进程的信息。 如果是指线程的话,那CreateThread的最后一个参数返回的便是线程ID具体函数定义详见 CreateProcess , CreateThread, PROCESS_INFORMATION 是的CreaetProcess的话,PROCESS_INFORMATION中是子进程的ID和Handletypedef struct _PROCESS_INFORMATION { HANDLE hProcess; HANDLE hThread; DWORD dwProcessId; DWORD dwThreadId; } PROCESS_INFORMATION; 获得进程ID:processtopid EnumProcesses(lpidprocesses,sizeof(lpidprocesses),&cbneeded); //列举所有的进程 OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,FALSE,lpidprocesses[i]); //以查询信息和读取的方式打开进程 EnumProcessModules(hprocess,&hmodule,sizeof(hmodule),&cbneeded); //获得进程模块的句柄 GetModuleBaseName(hprocess,hmodule,normalname,sizeof(normalname)); //获得特定模块的名字,以备比较 delphi EX3在线安装 用过delphi 2007的请告诉。 如何 取消 组合框的 选择更改? 高难度 用TABLE连接access时出现用户名 密码是怎么回事?如何用DBGRID控件显四ACCESS表 求助:关于编写IDE的问题 如何实现象IDE中的关键字会自动变色!急,up有分 急!一个有关client/server中主从表的问题?在线等待 如何备份Delphi? 赚点外快,接项目! 奇怪現象 怎样才能实现拨号连接? 关于dbimage
如果是使用CreateProcess来创建另一个进程的话,你传递的PROCESS_INFORMATION结构体中返回后回保存这个新进程的信息。
如果是指线程的话,那CreateThread的最后一个参数返回的便是线程ID具体函数定义详见 CreateProcess , CreateThread, PROCESS_INFORMATION
HANDLE hProcess;
HANDLE hThread;
DWORD dwProcessId;
DWORD dwThreadId;
} PROCESS_INFORMATION;
EnumProcesses(lpidprocesses,sizeof(lpidprocesses),&cbneeded);
//列举所有的进程
OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,FALSE,lpidprocesses[i]);
//以查询信息和读取的方式打开进程
EnumProcessModules(hprocess,&hmodule,sizeof(hmodule),&cbneeded);
//获得进程模块的句柄
GetModuleBaseName(hprocess,hmodule,normalname,sizeof(normalname));
//获得特定模块的名字,以备比较