进程ID,和进程句柄有什么不一样啊 ,初学,不清楚,哪位知道啊,谢谢:)(100分)

  • 主题发起人 主题发起人 mabinde
  • 开始时间 开始时间
M

mabinde

Unregistered / Unconfirmed
GUEST, unregistred user!
进程ID,和进程句柄有什么不一样啊 ,初学,不清楚,哪位知道啊,谢谢:)
 
只是类型名称不一样,可以混用
 
当然不一样了,一个是标识数,一个是指针,别的操作系统也有进程id的概念。句柄其实就是一个void *的指针,可是它内部可能指向了一个结构,这个是微软封装的
 
学习一下
 
ID就是给这个商品贴的标签,句柄就是商口所放在的展台的位置[^]
 
可以用进程ID获得进程句柄的,进程ID是随着你的进程消耗的资源随时可变的。而进程句柄确是唯一的。
 
1、进程句柄是指向本进程process handle table(进程句柄表)的指针,这个进程句柄表维护着本进程的所有句柄.一般来说进程句柄是个固定的值,即:0x7FFFFFFF ,这个句柄只对本进程有用,它不能用来做该进程的唯一标识。
2、进程ID实际上就是一个指向本进程process database的全局指针,用于标识此进程在系统中的唯一标识。实际上是这样,微软为了不让用户直接操作process database,把process database的指针进行了简单的加密后即形成process ID。这个简单加密也很有意思即:把process datebase的指针与“Obsfucator”这个单词进行了XOR操作就得到了process ID。据说“Obsfucator"这个单词还是个错拼,实际本意是“Obfuscator”这个单词。
如果你没明白的话就多看一些WIN32的书吧。这两个概念所涉及的内容太多,只能给你简单的分析一下了。
 
后退
顶部