windows下使用代码知道软件的启动路径,如何找到软件运行后的进程路径

时间: 2024-03-19 14:42:33 浏览: 11
在 Windows 下,可以使用 Process Explorer 工具来查看正在运行的程序的进程路径。下面是具体的步骤: 1. 下载并安装 Process Explorer 工具。可以在 Sysinternals 官网上下载:https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer 2. 启动 Process Explorer 工具,并找到需要查看进程路径的程序的进程。可以使用工具栏上的“查找”功能来搜索进程。 3. 找到需要查看进程路径的程序的进程后,右键点击该进程,并选择“Properties”菜单项。 4. 在弹出的属性对话框中,切换到“Image”选项卡,可以看到该进程的可执行文件路径。 需要注意的是,如果程序没有以管理员权限启动,可能会因为权限不足而无法查看进程路径。此时可以通过复制进程路径,然后在资源管理器中粘贴路径来打开程序所在的目录。另外,如果程序是以服务的形式运行的,则无法通过 Process Explorer 工具来查看其进程路径。
相关问题

windows下通过程序启动地址,找到该程序运行id

可以使用`ShellExecuteEx`函数启动程序,并通过`EnumProcesses`函数遍历所有进程,查找指定程序的进程ID。下面是一个示例代码: ```cpp #include <windows.h> #include <tlhelp32.h> #include <Shlwapi.h> #pragma comment(lib, "Shlwapi.lib") DWORD GetProcessIdFromStartMenuLink(LPCTSTR lpszLinkFilePath) { // 使用ShellExecuteEx函数启动程序 SHELLEXECUTEINFO sei = { sizeof(sei) }; sei.fMask = SEE_MASK_NOCLOSEPROCESS; sei.lpFile = lpszLinkFilePath; ShellExecuteEx(&sei); // 等待程序启动 WaitForInputIdle(sei.hProcess, INFINITE); // 遍历所有进程,查找指定程序的进程ID DWORD dwProcessId = 0; HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hSnap != INVALID_HANDLE_VALUE) { PROCESSENTRY32 pe = { sizeof(pe) }; if (Process32First(hSnap, &pe)) { do { TCHAR szProcessName[MAX_PATH]; if (PathIsEqualOrSubFolder(pe.szExeFile, lpszLinkFilePath)) { dwProcessId = pe.th32ProcessID; break; } } while (Process32Next(hSnap, &pe)); } CloseHandle(hSnap); } return dwProcessId; } ``` 这个函数接受一个启动程序的快捷方式文件的路径作为输入参数,返回该程序的进程ID。其中,`ShellExecuteEx`函数用于启动程序,并返回程序的句柄;`WaitForInputIdle`函数用于等待程序启动完成;`CreateToolhelp32Snapshot`函数用于创建进程快照;`Process32First`函数和`Process32Next`函数用于遍历进程快照中的所有进程;`PathIsEqualOrSubFolder`函数用于比较进程的可执行文件路径和指定路径是否相同或者指定路径是否是进程的父目录。最后,函数返回匹配到的进程ID,如果没有匹配到,则返回0。

Java如何自动启动CityEngine并通过CityEngine运行指定路径下的python代码代码实现

可以通过Java的ProcessBuilder类实现自动启动CityEngine并运行指定路径下的Python代码。 以下是一个简单的示例代码: ```java import java.io.File; import java.io.IOException; import java.util.Arrays; public class CityEngineRunner { public static void main(String[] args) throws IOException { // 定义CityEngine的安装路径 String cityEnginePath = "C:/Program Files (x86)/Esri/CityEngine 2019.0/CityEngine.exe"; // 定义要运行的Python代码文件路径 String pythonCodePath = "C:/my_python_code.py"; // 构造ProcessBuilder对象 ProcessBuilder pb = new ProcessBuilder(Arrays.asList(cityEnginePath, "-python", pythonCodePath)); pb.directory(new File(cityEnginePath).getParentFile()); // 启动CityEngine并运行Python代码 Process p = pb.start(); } } ``` 在上述代码中,我们使用ProcessBuilder类来构造一个启动CityEngine并运行指定Python代码的进程。首先,我们定义了CityEngine的安装路径和要运行的Python代码的文件路径。然后,我们通过ProcessBuilder类的构造方法传入这两个路径,并使用数组将它们作为参数传递给ProcessBuilder对象。接着,我们通过ProcessBuilder对象的directory()方法设置工作目录为CityEngine的安装目录,这样就可以确保Python代码能够正确地找到所需的资源。最后,我们调用ProcessBuilder对象的start()方法启动进程。 需要注意的是,由于CityEngine本身是一个Windows应用程序,因此在Linux或macOS上运行需要使用Wine等Windows模拟器。此外,还需要确保Python代码能够正确地读取和处理CityEngine生成的数据。

相关推荐

最新推荐

recommend-type

操作系统实验实验进程管理

可以指定第一个参数,即应用程序的名称,其中包括相对于当前进程的当前目录的全路径或者利用搜索方法找到的路径;lpCommandLine参数允许调用者向新应用程序发送数据;接下来的三个参数与进程和它的主线程以及返回的...
recommend-type

QT5开发及实例配套源代码.zip

QT5开发及实例配套[源代码],Qt是诺基亚公司的C++可视化开发平台,本书以Qt 5作为平台,每个章节在简单介绍开发环境的基础上,用一个小实例,介绍Qt 5应用程序开发各个方面,然后系统介绍Qt 5应用程序的开发技术,一般均通过实例介绍和讲解内容。最后通过三个大实例,系统介绍Qt 5综合应用开发。光盘中包含本书教学课件和书中所有实例源代码及其相关文件。通过学习本书,结合实例上机练习,一般能够在比较短的时间内掌握Qt 5应用技术。本书既可作为Qt 5的学习和参考用书,也可作为大学教材或Qt 5培训用书。
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB柱状图在信号处理中的应用:可视化信号特征和频谱分析

![matlab画柱状图](https://img-blog.csdnimg.cn/3f32348f1c9c4481a6f5931993732f97.png) # 1. MATLAB柱状图概述** MATLAB柱状图是一种图形化工具,用于可视化数据中不同类别或组的分布情况。它通过绘制垂直条形来表示每个类别或组中的数据值。柱状图在信号处理中广泛用于可视化信号特征和进行频谱分析。 柱状图的优点在于其简单易懂,能够直观地展示数据分布。在信号处理中,柱状图可以帮助工程师识别信号中的模式、趋势和异常情况,从而为信号分析和处理提供有价值的见解。 # 2. 柱状图在信号处理中的应用 柱状图在信号处理
recommend-type

用Spring boot和vue写一个登录注册界面

好的,这是一个比较常见的技术问题,我可以为您提供一些参考资料和思路。首先,您可以使用Spring Boot作为后端框架来处理用户认证和注册的逻辑,比如使用Spring Security实现用户登录认证。同时,您还需要设计相应的数据模型和数据库表结构来存储用户信息。在前端方面,您可以使用Vue.js作为框架来构建登录注册页面,使用Axios来发起API请求并和后端进行交互。当然,在实现过程中,还需要考虑一些具体细节,比如数据校验、安全性和用户体验等方面。希望这些信息能够帮助到您。
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。
recommend-type

"互动学习:行动中的多样性与论文攻读经历"

多样性她- 事实上SCI NCES你的时间表ECOLEDO C Tora SC和NCESPOUR l’Ingén学习互动,互动学习以行动为中心的强化学习学会互动,互动学习,以行动为中心的强化学习计算机科学博士论文于2021年9月28日在Villeneuve d'Asq公开支持马修·瑟林评审团主席法布里斯·勒菲弗尔阿维尼翁大学教授论文指导奥利维尔·皮耶昆谷歌研究教授:智囊团论文联合主任菲利普·普雷教授,大学。里尔/CRISTAL/因里亚报告员奥利维耶·西格德索邦大学报告员卢多维奇·德诺耶教授,Facebook /索邦大学审查员越南圣迈IMT Atlantic高级讲师邀请弗洛里安·斯特鲁布博士,Deepmind对于那些及时看到自己错误的人...3谢谢你首先,我要感谢我的两位博士生导师Olivier和Philippe。奥利维尔,"站在巨人的肩膀上"这句话对你来说完全有意义了。从科学上讲,你知道在这篇论文的(许多)错误中,你是我可以依
recommend-type

MATLAB柱状图在数据分析中的作用:从可视化到洞察

![MATLAB柱状图在数据分析中的作用:从可视化到洞察](https://img-blog.csdnimg.cn/img_convert/1a36558cefc0339f7836cca7680c0aef.png) # 1. MATLAB柱状图概述** 柱状图是一种广泛用于数据可视化的图表类型,它使用垂直条形来表示数据中不同类别或组别的值。在MATLAB中,柱状图通过`bar`函数创建,该函数接受数据向量或矩阵作为输入,并生成相应的高度条形。 柱状图的优点在于其简单性和易于理解性。它们可以快速有效地传达数据分布和组别之间的比较。此外,MATLAB提供了广泛的定制选项,允许用户调整条形颜色、
recommend-type

命名ACL和拓展ACL标准ACL的具体区别

命名ACL和标准ACL的主要区别在于匹配条件和作用范围。命名ACL可以基于协议、端口和其他条件进行匹配,并可以应用到接口、VLAN和其他范围。而标准ACL只能基于源地址进行匹配,并只能应用到接口。拓展ACL则可以基于源地址、目的地址、协议、端口和其他条件进行匹配,并可以应用到接口、VLAN和其他范围。