如何判断一个文件是否是系统文件

我想判断一个文件是否安全,一开始想通过数字签名,但是有一些系统文件没有数字签名,例如cmd.exe就没有数字签名,所以我就想再单独判断一个文件是否是系统文件。不知道大牛们有什么方法,如果有的话?能给一段C++代码吗?

之前的答案没有问题,主要是到底哪些是 系统文件?

简单而言,系统文件的缺损会影响系统的正常运行,之前你的困惑根源在于那些文件不是系统文件。
我找了一个系统文件的例子:

图片说明

图片说明

图片说明

真正的系统文件 ,资源管理器能看出来。

用心回答每个问题,如果有帮助,请采纳答案好吗,谢谢~~~

可以用 GetFileAttributes

DWORD attributes = GetFileAttributes(path);
if (attributes & FILE_ATTRIBUTE_SYSTEM) ..........

完整的范例请参考:

https://msdn.microsoft.com/en-us/library/aa365522(v=vs.85).aspx

用心回答每个问题,如果有帮助,请采纳答案好吗,谢谢~~~

 CMD cmd - cmd.exe - 进程信息 进程文件: cmd 或者 cmd.exe 进程名称: Windows Command Prompt 描述: cmd.exe是微软Windows系统的命令行程序,类似与微软的DOS操作系统。cmd.exe是一个32位的命令行程序,运行在Windows NT/2000/XP上。**这不是纯粹的系统程序**,但是如果终止它,可能会导致不可知的问题。 出品者: Microsoft Corp. 属于: Microsoft Windows Operating System