0、思考

1、相关api

GetCurrentProcess
GetCurrentThread
GetCurrentProcessId
OpenProcess
DuplicateHandle
CloseHandle 

3、api说明

HANDLE WINAPI GetCurrentProcess(void);
1、返回当前进程的伪句柄(始终返回-1)
2、-1表示当前进程的伪句柄
3、-2表示当前线程的伪句柄,可以用GetCurrentThread试一试(始终返回-2)
4、不要直接使用-1这个值,为了将来的兼容性请使用GetCurrentProcess
5、伪句柄不被继承,想想如果可以继承,那么-1代表什么(父进程的伪句柄?子进程的伪句柄?)
6、可以通过DuplicateHandle和OpenProcess获取当前进程真实句柄
7、伪句柄可以在当前进程中使用,如果需要跨进程通信,那么必须拿出自己真实句柄了
8、伪句柄不需要CloseHandle,即使调用CloseHandle表现为不起作用
9、如果该通过DuplicateHandle和OpenProcess获取当前进程真实句柄后,不在使用时需要CloseHandle,防止句柄泄露

4、c++封装

5、

6、举个栗子

#include <windows.h>void main ()
{{ HANDLE hCurrentProcess = GetCurrentProcess ();
//      CloseHandle (hCurrentProcess);  // 不需要且hCurrentProcess的值为-1}
}

GetCurrentProcess 伪句柄相关推荐

  1. DuplicateHandle GetCurrentProcess 实句柄 伪句柄

    GetCurrentProcess得到得到的称之为"伪句柄" 只是一个标识,你可以发现,其实就是返回$FFFFFFFF, 每个进程得句柄都是一样得,只是实用于进程内部得使用. 如果 ...

  2. DuplicateHandle 伪句柄 与 实句柄的应用

    如果把GetCurrentThread()返回值传递给一个HANDLE句柄,用它进行ResumeThread,结果肯定不是我们想要的.下面的例子详细描述了伪句柄的调用结果: #include &quo ...

  3. DuplicateHandle伪句柄与实句柄的应用二

    //扫描进程列表,获得进程名为 ConsoleApplication2.exe的进程句柄B,把当前进程A的伪 //句柄传递给B,在B进程中关闭它 #include "stdafx.h&quo ...

  4. R3下,遍历所有进程的伪句柄表,关闭指定句柄

    之所以产生这个想法,是在删除文件的时候有时会提示文件被占用了,然后让我们先关闭之后在来删除,但是我怎么知道哪个进程打开了我的文件? 于是就去网上了找了一份代码然后改了改,接着来说说是怎么实现功能的.首 ...

  5. 关于DuplicateHandle() 转换伪句柄成真实句柄值的疑问

    参考:http://topic.csdn.net/u/20100806/09/f89294ac-fcf7-4a05-bb00-8480c3793ecb.html

  6. GetCurrentProcess 获得当前进程的句柄

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://flyxxtt.blogbus.com/logs/44373420.html 在一些函数中可能会要求我们传入所操作的进程 ...

  7. WindowsAPI详解——GetCurrentProcess 获得当前进程的句柄

    WindowsAPI详解--GetCurrentProcess 获得当前进程的句柄 - [VC++编程] 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://flyxxtt ...

  8. 函数失败返回_为什么句柄返回值不一致?

    如果查看返回HANDLE的各种函数, 你就会发现其中一些返回NULL(例如CreateThread),而另一些会返回INVALID_HANDLE_VALUE(例如CreateFile).所以,你必须查 ...

  9. 获取进程或线程的ID以及句柄信息

    先介绍一下创建线程或进程的时候是可以得到相应的ID以及句柄信息的. BOOL CreateProcess ( LPCTSTR lpApplicationName, LPTSTR lpCommandLi ...

最新文章

  1. 圆形led屏幕_一种圆形LED显示屏幕的制作方法
  2. poj2387TillCowsComHome Dijlstra
  3. DotNet Framework 小技巧
  4. 基于买方意向的货物撮合交易_CCF货物撮合交易赛题 Baseline
  5. 云游戏真的来了,这次的搅局者是 Google,云游戏平台搭建
  6. 图像分辨率测试—imatest
  7. android 7修改机型,Android 6.0/7.0可升级机型名单出炉
  8. mysql 字段去除空格
  9. 51单片机智能小车蓝牙
  10. 能上天的代码? NASA 火星无人机飞行控制系统开源了
  11. LRc2022 M1原生支持功能介绍,Lightroom Classic 2022 Mac M1专用 ,解决lr闪退打不开卡死等一系列问题
  12. 电子书寻找方法汇总2
  13. gamma分布python代码_python scipy stats.gamma用法及代码示例
  14. 电子学会2023年3月青少年软件编程(图形化)等级考试试卷(二级)真题,含答案解析
  15. Polar vector and axial vector(极矢量和轴向矢量)
  16. 基于SSM的二手书推荐系统(商城)
  17. 声网 Token 鉴权机制,以及常见的问题
  18. Discuz!6.0.0 开启社区论坛(BBS)新时代
  19. 记录一下sql两个表关联的查询使用方法
  20. swiper实现icons列表超出数量滑动轮播

热门文章

  1. 爬虫爬取百度图片--python3
  2. windows系统go环境配置
  3. 【微服务|openfeign】使用openfeign远程调用文件上传接口
  4. An Improved Blockchain Consensus Algorithm Based on Raft(Raft算法改进区块链效率
  5. pdf文档怎么转换成excel?分享这几个方法!
  6. Linux锐速当前连接数等状态查询,service serverSpeeder status 服务,帮助信息
  7. 【题解】自己口胡的一道题目
  8. 个人知识管理(PKM)简介
  9. 远去的传说:安全软件群雄混战史
  10. 简易商品购物系统登陆界面