我目前正在使用C++和Qt开发一个应用程序,我需要知道输入文件是否可执行。
我使用的是QFileInfo::isExecutable(),它对大多数文件都是正确的,除了那些扩展名为.msi的文件,它返回false。
我如何确定一个文件是否可执行?出于交叉兼容性的原因,我需要在Qt中这样做。
发布于 2013-02-26 15:49:25
您应该知道QFileInfo::isExecutable()是如何确定文件为可执行文件的:
Windows Qt中的
.exe、.com和.bat,而不检查其内容。因此,在Windows下,从Qt的角度来看,.msi文件不是可执行文件。
发布于 2013-02-26 15:49:32
实际上,MSI文件并不是可执行的。它是Windows Installer可执行文件使用的一种文档格式。所以QFileInfo是正确的。
您需要解决的具体问题是什么?为什么你认为知道一个文件是否是可执行的会对你有帮助?你心目中的目标是什么?如果你给我们更多的信息,我们也许能提出一个更好的方法。
https://stackoverflow.com/questions/15083884
复制相似问题