c++ - 以编程方式获取 powershell.exe 的完整路径

标签 c++ windows boost

我需要获取 Powershell.exe 的完整路径(绝对路径)才能在我的代码中运行 powershell 脚本。谁能建议我使用任何库或内置方法来执行此操作。

我在 windows.h 中尝试了 boost 文件系统的 absolute() 方法和 getFUllPathName() 方法。但我设法得到的只是我项目的当前工作目录。

最佳答案

或者(如果您不喜欢依赖环境变量)您也可以查询注册表。 Powershell 在安装时写入了一个 FriendlyTypeName 值,在我的机器上是

@"%systemroot%\system32\windowspowershell\v1.0\powershell.exe", -107

其中包含路径。

注册表项是 HKEY_CLASSES_ROOT\Microsoft.PowerShellConsole.1\FriendlyTypeName

使用 Windows API 查询注册表。

关于c++ - 以编程方式获取 powershell.exe 的完整路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20513303/

相关文章:

c++ - Poco线程同步问题

windows - ARSS 返回错误 "This WAVE file format is not currently supported"

windows - 捕获程序stdout和stderr来分隔变量

c++ - boost::asio,为什么我的套接字在调用 async_receive_from 后立即运行回调函数?

c++ - boost::posix_time::microsec_clock CPU 密集吗?

c++ - 错误 : symbol(s) not found for architecture x86_64, collect2:ld 返回 1 个退出状态

c++ - 如何使用 MFC 将记录插入到 Microsoft Access 中?

c++ - Boost geometry 将 Point 2d 注册为共享指针

c++ - 如何将字符串中的多个数字转换为整数

c - 是否可以通过编程关闭电脑风扇+处理器风扇?