根据pid获得路径 2006-10-25 19:28
这是编写kill process时用到的
BOOL GetProcessModule(DWORD dwPID, DWORD dwModuleID, LPMODULEENTRY32 lpMe32, DWORD cbMe32)
{
BOOL bRet = FALSE;
BOOL bFound = FALSE;
HANDLE hModuleSnap = NULL;
MODULEENTRY32 me32 = {0};
hModuleSnap = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwPID);
if (hModuleSnap == INVALID_HANDLE_VALUE)
return (FALSE);
me32.dwSize = sizeof(MODULEENTRY32);
if (Module32First(hModuleSnap, &me32))
{
do
{
if (me32.th32ModuleID == dwModuleID)
{
CopyMemory (lpMe32, &me32, cbMe32);
bFound = TRUE;
}
}
while (!bFound && Module32Next(hModuleSnap, &me32));
bRet = bFound;
}
else
bRet = FALSE;
CloseHandle (hModuleSnap);
return (bRet);
}
PCHAR ProcessPidToPath(DWORD ProcessId, PCHAR ProcessName)
{
PROCESSENTRY32 processEntry = { 0 };
processEntry.dwSize = sizeof(PROCESSENTRY32);
lstrcpy(ProcessName, "");
HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hProcessSnap == INVALID_HANDLE_VALUE)
{
printf("Failed to take process snapshot. Process names will not be shown.\n\n");
}
if (!Process32First(hProcessSnap, &processEntry))
{
return ProcessName;
}
do
{
if (processEntry.th32ProcessID == ProcessId)
{
MODULEENTRY32 me32 = {0};
GetProcessModule(processEntry.th32ProcessID,
1, &me32, sizeof(MODULEENTRY32));
if (lstrlen(me32.szExePath) != 0)
{
lstrcpy(ProcessName, me32.szExePath);
}
else
{
lstrcpy(ProcessName, processEntry.szExeFile);
}
return ProcessName;
}
} while(Process32Next(hProcessSnap, &processEntry));
CloseHandle(hProcessSnap);
return ProcessName;
}
注释去掉了。
根据pid获得路径 2006-10-25 19:28的更多相关文章
- 北京Uber优步司机奖励政策(10月19日~10月25日)
用户组:优步北京人民优步A组(适用于10月19日-10月25日) 滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万 ...
- 背水一战 Windows 10 (25) - MVVM: 通过 x:Bind 实现 MVVM(不用 Command)
[源码下载] 背水一战 Windows 10 (25) - MVVM: 通过 x:Bind 实现 MVVM(不用 Command) 作者:webabcd 介绍背水一战 Windows 10 之 MVV ...
- 腾讯云 CIF 工程效能峰会,10 月 19 - 20 日震撼来袭!
近年来,依托于云计算的飞速发展,腾讯云云产品更新迅猛,云原生生态构建初具规模,越来越多的企业也开始寻求与深入数字化转型之路.但在摸索与实践中,企业往往会进入"伪上云"的误区.除了单 ...
- /proc/interrupts 统计2.6.38.8与3.10.25差异
eth4进,eth5出 linux-3.10.25 67: 2 3 2 3 PCI-MSI-edge eth468: ...
- (转自http://www.blogjava.net/moxie/archive/2006/10/20/76375.html)WebWork深入浅出
(转自http://www.blogjava.net/moxie/archive/2006/10/20/76375.html) WebWork深入浅出 本文发表于<开源大本营> 作者:钱安 ...
- CentOS安装NodeJS v0.10.25 + Express
安装必需组件 yum -y install gcc make gcc-c++ openssl-devel wget cd ~wget http://nodejs.org/dist/v0.10.25/n ...
- 2016年10月19日 星期三 --出埃及记 Exodus 19:3
2016年10月19日 星期三 --出埃及记 Exodus 19:3 Then Moses went up to God, and the LORD called to him from the mo ...
- Nanjing GDG Meetup 10月19日线下活动
Nanjing GDG 10 月份的线下活动将在本周六 (10/19) 举办,这次会请到对所有开发者都有重要帮助的神器 GoAgent 的作者 Phus Lu 来给我们做一场分享,热烈欢迎大家报名参 ...
- 10.25 正睿停课训练 Day9
目录 2018.10.25 正睿停课训练 Day9 A 数独(思路 DP) B 红绿灯(最短路Dijkstra) C 轰炸(计算几何 圆并) 考试代码 B C 2018.10.25 正睿停课训练 Da ...
- 欢迎来怼-Alpha周(2017年10月19)贡献分配规则和分配结果
.从alpha周(2017年10月19日开始的2周)开始,提高贡献分比重. 贡献分 : 团队分 = 1 : 5 教师会在核算每位同学总分时按比例乘以系数. 每位同学带入团队贡献分10分,如果团队一共7 ...
随机推荐
- TestNg失败重跑—解决使用 dataProvider 参数化用例次数冲突问题
问题背景 在使用 testng 执行 UI 自动化用例时,由于 UI自动化的不稳定性,我们在测试的时候,往往会加上失败重跑机制.在不使用 @DataProvider 提供用例参数化时,是不会有什么问题 ...
- C++语法小记---面向对象模型(实例的内存分布)
面向对象的模型(内存分布) 对于一个对象而言,成员变量和成员函数是分开存放的 成员函数位于代码段,所有的类对象共有 成员变量为每一个对象独有,位于内存中 类对象在内存中的分布和struct完全相同 对 ...
- js 绑定的键盘事件
在全局绑定键盘事件 document.onkeydown = function(event){ //在全局中绑定按下事件 var e = event || window.e; va ...
- MySQL之高级操作
新增数据: 基本语法: insert into 表名 [(字段列表)] values(列表值) 在数据插入的时候,假设主键对应的值已经存在,插入一定会失败 主键冲突: 当主键存在冲突的时候(Dupl ...
- 面试题之----禁掉cookie的session使用方案
方式一:通过 url 传值,把session id附加到url上 缺点:整个站点中不能有纯静态页面,因为纯静态页面session id 将无法继续传到下一页面 方式二:通过隐藏表单,把session ...
- Spring Security OAuth2之resource_id配置与验证
一.resource_id的作用 Spring Security OAuth2 架构上分为Authorization Server认证服务器和Resource Server资源服务器.我们可以为每一个 ...
- leetcode 5473
这个题真是当时想麻烦了,,,感谢LLdl 提供的题解 其实一个很重要的点就是,如果后面的玩意翻转了偶数次,那就跟没变一样.如果是奇数次就取反. 怪我天真,第一反应就去位运算去了,,,,哪有那么复杂诶 ...
- 字符输入输出不一样!:什么情况下需要getchar()吃空格和回车
今天一个很简单的题居然一直不对... 大概是用字符组成的一个方块..然后各种转换, 关键是我算法都写好了,然而输入进去的字符方块直接输出来都不太对... 后来想起吃空格问题,因为scanf了%c的话, ...
- PHP highlight_file() 函数
实例 对测试文件("test.php")进行 PHP 语法高亮显示: <html><body><?phphighlight_file("te ...
- JS 获取验证码按钮改变案例
HTML代码 <div class="box"> <label for="">手机号</label> <input t ...