如何判断路径是否指向Windows中的应用程序

时间:2011-12-12 04:20:27

标签: windows winapi executable shellexecute

如果我有一个文件路径(可能稍后传递给ShellExecute API),有什么方法可以判断它是否指向某个应用程序?

我需要在Windows下从C ++程序中工作。此外,此路径可能包含启动命令行参数。

2 个答案:

答案 0 :(得分:1)

您可以使用SaferiIsExecutableFileType功能检查文件是否可执行。

答案 1 :(得分:0)

所以你真的想知道代表命令行的字符串是否有可执行文件的路径作为它的第一个“部分”。你如何看待这种情况取决于你想要信息的准确程度。

首先,您必须解析字符串以获取第一个参数。它并不像寻找第一个空间那么简单,因为Windows路径可以包含空格。您必须处理"c:\program files\internet explorer\iexplore.exe" "http://stackoverflow.com"等内容。

搜索文件是一个相当复杂的过程,涉及搜索PATH环境变量中的目录。 SearchPath API函数可以提供帮助。