进程句柄和进程ID的区别和关系
进程和进程句柄和进程id含义
进程是一个正在运行的程序,进程里可以包括多个模块(DLL,OCX,等)
进程句柄是程序访问时用到的东西,当前进程句柄等于主模块的句柄,当你使用OpenProcess时的进程句柄是不等于那个句柄的,使用完了还要关闭那个句柄
进程ID是在系统中的标识,一个进程可以有多个句柄但是ID就只有一个,可以通过ID打开多个句柄
进程是内核对象,其ID是一个32位的无符号整数,用于在整个系统中唯一地标志该对象;你在任何进程中都可使用该ID号访问进程对象;
进程的句柄则是基于特定进程的,对于同一个进程对象,在不同的进程中可能有不同的句柄值。因为句柄实际上是进程空间中的句柄表的偏移,由于在不同的进程空间中句柄表是不同的,针对相同的对象在句柄表的偏移也就不同
句柄实际是一个指针,他指向一块包含具体信息数据的内存,可以当做索引 ,所以进程句柄是当你要访问该进程时取得的,使用完毕必须释放。
id一般是一个标识符,用来区别不同项
一个进程在不同的调用时间中有可能句柄的值是不一样的,但是ID只有也只能有一个
在Windows有一张指针表(就是指针数组),这些指针指向Windows内的各种对象(Windows概念的对象),其中就包含进行对象。
句柄就就是指针数组的编号。
进程ID,一个进程被创建后这个进程ID就是不变的。
进程句柄,每次打开这个进程(OpenProcess),返回给你的句柄是变化的
参考:http://blog.csdn.net/chdhust/article/details/11856327
转载于:https://www.cnblogs.com/vincentqliu/p/6858036.html
进程句柄和进程ID的区别和关系相关推荐
- [linux/ unix] 查看占用端口的 进程ID 的区别
2019独角兽企业重金招聘Python工程师标准>>> linux 使用 netstat -nap | grep [port-number] unix/ osx BSD 的 nets ...
- WIN32进程快照以及进程ID和句柄查找
要对进程进行某种操作,就必须首先知道该进程的进程句柄或者进程ID,否则一切无从谈起,对于程序自己创建的子进程来说,CreateProcess函数返回了进程句柄和进程ID,但如果需要调试系统中已经运行的 ...
- 详解窗口句柄,进程ID,进程句柄,窗口与进程之间的关系
窗口句柄: 在Windows或Linux等操作系统下窗口句柄对应着每个窗口的钥匙,例如,你要对某一个窗口进行操作,你必须知道你要操作哪一个窗口,这里就拿Windows做举例,Windows下几乎会创建 ...
- 小实验:用创建进程()打开计算器,然后关闭进程句柄。再用打开进程(进程ID),使用两次,得到两个进程句柄。实验目的:这两个进程句柄都能控制这个进程吗?通过该试验加深对句柄的理解!!...
小实验:用创建进程()打开计算器,然后关闭进程句柄.再用打开进程(进程ID),使用两次,得到两个进程句柄.实验目的:这两个进程句柄都能控制这个进程吗? .版本 2 .程序集 窗口程序集1 .子程序 _ ...
- VC下通过进程ID获取进程镜像文件路径的方法及其存在的缺陷
工作中经常会遇到通过进程ID获取进程镜像文件或者其他模块的路径的需求.(转载请指明出处)网上关于方案大致存在两种方案: OpenProcess->GetModuleFileName OpenPr ...
- 如何查询一个进程下面的线程数(进程和线程区别)
在平时工作中,经常会听到应用程序的进程和线程的概念,那么它们两个之间究竟有什么关系或不同呢? 一.对比进程和线程 1)两者概念 - 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程 ...
- java 进程 线程数量_如何查询一个进程下面的线程数(进程和线程区别)
在平时工作中,经常会听到应用程序的进程和线程的概念,那么它们两个之间究竟有什么关系或不同呢? 一.对比进程和线程 1)两者概念 - 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程 ...
- 511遇见易语言模块API教程进程结束和进程取自进程ID
当我们多线程多窗口启动游戏时,在退出时我们手动比较麻烦,可以使用进程结束一键退出. 511遇见易语言模块API教程 1.GetCurrentProcessId 获取当前进程一个唯一的标识符 说明: 获 ...
- 到底什么是线程?线程与进程有哪些区别?
上一篇文章我们讲述了什么是进程,进程的基本调度 http://t.csdn.cn/ybiwThttp://t.csdn.cn/ybiwT 那么本篇文章我们将了解一下什么是线程?线程与进程有哪些区别?线 ...
最新文章
- pandas使用rename函数自定义重命名dataframe指定索引标签(位置)的名称(customize rename index value or label)
- jQuery-helloWorld
- https脚本调linux执行器,linux平台下一键配置网站https
- python numpy 写入、读取 .npz 压缩文件
- Question 20171117 Java中的编码问题?
- MFC应用中对界面的设计(图标,标题,窗口)(VS2019)
- 【libnice】艰难的meson+ ninja手动编译过,vs2022 v143 debug
- 如何关闭CSDN右下角的小广告
- python爬取网站视频保存到本地
- 无监督降维 效果评价 trustworthiness measure
- github图书馆座位预约_GitHub上排名前100的图书馆
- 记一些Linux/centos的基础运维命令
- 万能页面加载loading
- 国内外研究现状和发展趋势
- Python快捷创建文件夹和文件详解
- GTO与OKR工具选择
- linux学习11 正则表达式与文件格式化处理
- wu版-天下无难试之Redis面试题刁难大全
- 手机充电器3C认证标准要求
- Maven仓库和版本(二)
热门文章
- linux系统可以ping,Linux系统禁ping
- python sqlserver 列名_报表自动化,三流用Excel,二流用Python,一流用它
- C++笔记-基于邻接矩阵的BFS(宽度优先遍历)
- Oracle笔记-Oracle基本结构及安装启动(windows版)
- WEB安全基础-PHP+MySQL实践
- Java基础入门笔记-算术运算符
- C/C++如何连接MySQL服务器以及简单加密
- ibm z系列服务器 cpu,全球最快CPU 解析IBM大型机z196处理器
- mysql导入_导出命令_MySQL导入导出命令
- nginx配置php项目后403,nginx配置引发的403问题解决办法