我正在使用C++应用程序启动另一个进程。这个过程恰好是java,所以我需要运行javaw.exe。不过,我希望我的应用程序可以在任何安装了兼容Java版本的Windows系统上以及Windows搜索路径中工作。C++通过Windows搜索路径查找可执行文件
我使用CreateProcess启动我的进程,但第一个参数需要可执行文件的FULL路径,并且不搜索Windows搜索路径。
我想从我的CPP代码中的Windows搜索路径中找到javaw.exe的完整路径,然后传递给CreateProcess,以便我可以通过TerminateProcess进行适当的启动和更高版本。停止外部程序。
如何通过Windows搜索路径找到javaw.exe的完整路径?
编辑:这个问题是不同的。比引用的副本,因为我的具体问题是使用Windows搜索路径(这btw包括本地目录,PATH环境和一些标准的位置)。我想通过CPP专门做到这一点。我特别想使用Windows搜索路径系统,因为用户可能拥有多个javaw.exe,并且我希望通过Windows标准搜索路径预测哪一个是可预测的,而不是我实现的自定义搜索方法。
的可能的复制[?如何找到安装javaw.exe的地方(http://stackoverflow.com/questions/17602113/how-to-find-其中-jawsw-exe-is-installed) –
如果通过Windows搜索路径表示PATH,那么您应该能够获取路径并提取我认为的Java的位置。有时候还有JAVA_HOME集,你也可以使用它。 – Rakete1111
这不是重复的,因为我试图通过C++,通过Windows搜索路径执行此操作。这个问题与语言无关,希望通过任何可能的方式找到它。一个理想的解决方案将是一个cpp“where”或“which”函数返回适当的exe路径。 – Jim