如何获取父进程的句柄
1个回答
推荐于2016-03-29
展开全部
这里需要用到一个微软未公开的API:
NTSTATUS WINAPI NtQueryInformationProcess(
__in HANDLE ProcessHandle,
__in PROCESSINFOCLASS ProcessInformationClass,
__out PVOID ProcessInformation,
__in ULONG ProcessInformationLength,
__out_opt PULONG ReturnLength
);
这个API位于Ntdll.dll里面,通过引用头文件winternl.h来获取相关的类型定义。当我们得到这个函数后,下一步就需要去了解各个函数参数的意义了,这里我们重点看一下第二个参数 PROCESSINFOCLASS结构体的内容:
typedef struct _PROCESS_BASIC_INFORMATION {
PVOID Reserved1;
PPEB PebBaseAddress;
PVOID Reserved2[2];
ULONG_PTR UniqueProcessId;
PVOID Reserved3;
} PROCESS_BASIC_INFORMATION;
NTSTATUS WINAPI NtQueryInformationProcess(
__in HANDLE ProcessHandle,
__in PROCESSINFOCLASS ProcessInformationClass,
__out PVOID ProcessInformation,
__in ULONG ProcessInformationLength,
__out_opt PULONG ReturnLength
);
这个API位于Ntdll.dll里面,通过引用头文件winternl.h来获取相关的类型定义。当我们得到这个函数后,下一步就需要去了解各个函数参数的意义了,这里我们重点看一下第二个参数 PROCESSINFOCLASS结构体的内容:
typedef struct _PROCESS_BASIC_INFORMATION {
PVOID Reserved1;
PPEB PebBaseAddress;
PVOID Reserved2[2];
ULONG_PTR UniqueProcessId;
PVOID Reserved3;
} PROCESS_BASIC_INFORMATION;
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询