我正在为一个流行的游戏(英雄联盟)编写一个简单的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的一个内核或获取文件夹名称的方法(不使用系统调用?)将不胜感激。一旦我可以在变量中获取文件夹名称,就可以轻松实现。
提前致谢!