使用system()在更改的目录中调用可执行文件

时间:2014-03-04 15:01:33

标签: c++ regex windows cmd system

我正在为一个流行的游戏(英雄联盟)编写一个简单的C ++ helpertool,针对Windows用户。

我希望允许用户自动重启崩溃的游戏。这可以通过启动“leagueoflegends.exe'”来完成。我想自动检测可执行文件的位置,这是我遇到问题的地方。

该exe位于: * GAME_FOLDER * \ RADS \解决方案\ lol_game_client_sln \释放\ x.x.x.xx \ leagueoflegends.exe

我使用注册表项来获取游戏文件夹,即:C:\ leagueoflegends \

但是,有一个文件夹随x.x.x.xx格式的每次更新而更改,其中x是反映版本的数字(数字)。 release文件夹中总有1个文件夹。

我想我需要使用REGEXP,但我没有太多运气。 这是我做的正则表达式:

^[0-9]\.[0-9]\.[0-9]\.[0-9][0-9]$

这是我以前用cmd

获取目录的名称
dir /B | findstr /R " ^[0-9]\.[0-9]\.[0-9]\.[0-9][0-9]$"

然而,无论我做什么,我似乎都无法运行可执行文件。它不像linux,我可以操纵过滤器和管道。任何帮助运行exe的一个内核或获取文件夹名称的方法(不使用系统调用?)将不胜感激。一旦我可以在变量中获取文件夹名称,就可以轻松实现。

提前致谢!

0 个答案:

没有答案