Windows上获取父进程的一种简单方法

这篇具有很好参考价值的文章主要介绍了Windows上获取父进程的一种简单方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

测试平台:win10 专业版 21H2 1904

编译平台:gcc version 12.2.0 (x86_64-posix-seh-rev2, Built by MinGW-W64 project)

代码如下:文章来源地址https://www.toymoban.com/news/detail-516372.html

#include <stdio.h>
#include <winternl.h>
#include <Shlwapi.h>
#include<psapi.h>
#pragma comment(lib, "kernel32.lib")
#pragma comment(lib, "shlwapi.lib")
 
unsigned long GetParentPID( unsigned long ProcessID);
void ShowProcName(unsigned long pid,char*);
 
int main(int argc, const char* argv[]) {
    unsigned long ppid;
	char pname[MAX_PATH] = {0};

    ppid = GetParentPID(GetCurrentProcessId());
	ShowProcName(ppid,pname);

	printf("ParentProcessPID: %lu\n", ppid);
	printf("ParentName: %s\n", pname);
	
	system("pause");
    return 0;
}
 
unsigned long GetParentPID(unsigned long ProcessID) {
    /// 打开给定进程PID
    HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, ProcessID);
    /// 下面是获取函数 NtQueryInformationProcess 的函数指

到了这里,关于Windows上获取父进程的一种简单方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 关于小程序如何长按复制长文本的方法(比较简单的一种)

    在我们开发小程序时,可能会遇到一些场景,需要你复制弹框中的链接到手机浏览器中访问。 方法如下: 1.首先需要一个view盒子,添加css属性word-break: break-all;这个是自动换行用的避免文本过长跑出盒子外。 2.在上面的view盒子中包一个text长文本,并设置属性selectable=\\\"true\\\" user-sele

    2024年02月15日
    浏览(55)
  • Windows11/10 使用RDP远程桌面时提示 您的凭据不工作/登录没有成功可能的一种原因

    微软官方的关于有关远程桌面客户端的常见问题 Windows新装系统时就已经设置了Windows Hello,而登录系统时一直使用Windows Hello, 未使用过密码 进行登录 能确定登录所用用户名和密码正确 新建的本地账户可以正常使用RDP进行远程登录 我在使用RDP登录时虽然输入了正确的账号和密

    2024年02月06日
    浏览(100)
  • Windows查看进程命令

    例子: Windows查看8000端口 如果您想查看 Windows 上是否有应用程序在使用端口 8000,可以使用以下步骤:打开命令提示符或 PowerShell 窗口。输入以下命令并按 Enter 键: netstat -ano | findstr :8000 这将显示所有在使用端口 8000 的应用程序以及它们的进程 ID。如果您想要更详细的信息,

    2024年02月11日
    浏览(46)
  • Windows查看端口占用情况及杀掉进程

    目录  1、打开命令窗口(以管理员身份运行)  2、查找所有运行的端口  3、查看被占用端口对应的 PID 4、查看指定 PID 的进程 5、结束进程 开发时经常遇到端口被占用的情况,这个时候我们就需要找出被占用端口的程序,然后结束它。  开始—-运行—-cmd ,或者是  window+R  组

    2024年02月08日
    浏览(68)
  • Linux--task_struct:进程控制块PCB的一种

    PCB是什么? 本质上是个结构体 在不同的操作系统中,PCB的名称也不同 Linux: struct task_struct {}; task_ struct内容分类 标示符: 描述本进程的唯一标示符,用来区别其他进程。 状态: 任务状态,退出代码,退出信号等。 优先级: 相对于其他进程的优先级。 程序计数器: 程序中即将

    2024年02月13日
    浏览(39)
  • Windows/Linux下进程信息获取

    Windows/Linux下进程信息获取,目前可获取进程名称、进程ID、进程状态 理论分析: Windows版本获取进程列表的API: CreateToolhelp32Snapshot() 创建进程快照,对应当前系统所有进程的实时状态。 参数TH32CS_SNAPPROCESS表示只捕获进程信息。 Process32First() 获取快照中第一个进程的ProcessEntry信息

    2024年02月07日
    浏览(46)
  • windows任务栏重启一种方法

    1.打开任务管理区 win+R 弹出运行对话框,输入taskmgr,打开任务管理器 2.在进程里面找到explorer.exe,结束进程 3.新建任务(运行...)    4.创建新任务,输入explorer.exe,确定。   5.自动刷新桌面,稍等片刻,恢复正常。快去试试吧!    

    2024年02月12日
    浏览(40)
  • 【记录】Windows 11|激活Windows系统的产品密钥的获取、安装、查看以及查询使用次数

    Windows 11。 系统的产品密钥的获取、安装、查看以及查询使用次数的具体步骤如下。 如果 重装了系统导致系统未激活,但没有提前记录产品密钥 ,这时可以使用以下三种方法查看自己的硬件里的产品密钥: 命令提示符查看原始密钥( wmic path softwarelicensingservice get OA3xOrigina

    2024年02月11日
    浏览(44)
  • Springboot通过请求头获取当前用户信息的一种方式

    一、实现原理 1、token的存储 当用户登录时,将token, userInfo存入redis缓存中,以便鉴权与获取用户信息。 2、发送请求 每次发送请求时将token放入请求头中,令key为“Authorization”或其他值。 3、获取请求头部 4、用户请求头部携带的token在redis中获得userInfo 二、导入依赖 1、redi

    2024年02月05日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包