[以下是我之前的问题的重新措辞,我认为这个问题模棱两可]。
我正在为一个演示应用程序创建一个基本的许可机制。我的想法是这样的:应用程序在第一次运行时创建一个空的"许可证文件",例如"0b1xa487x.ini",然后在第一次执行后30天过期,并且只要该特定文件存在于系统上就不能再运行。
我正在寻找的是一种方法来保护特定的文件在某种程度上阻止删除。因为它将是一个空白文件,没有任何内容,我不介意它被损坏,有损坏的标题,无效的日期,无论如何都要保持不可删除。
我在某个地方看到过基于文件属性的类似方法(文件设置了HX属性);然而,属性方法使我一无所获,因为我找不到任何关于文件属性x存在的文档特性。
我也知道还有其他方法,包括rootkit驱动程序和作为系统用户启动的系统服务,但这个特殊的方法似乎最适合这种情况。再一次,我概述了文件的内容也可能是不可访问的,我不打算使用这种方法从文件中运行任何类型的恶意软件,因为我在下面被指控:)
Corrupt表示不符合某些标准。空白文件没有标准。
谢谢大家的建议。我找到了一种使我的文件无法访问的方法,即使用文件权限的幸运组合。缺点是这些东西在非ntfs分区上不起作用。好处是,我总是可以通过简单地以编程方式删除这些权限并删除之后的所有内容来清理应用程序。
关于你对Henk的最后一个回答,我认为创建一个服务,使用操作系统自动启动它,并使用TFileStream在fmShareExclusive中打开文件更容易。
但是,你不能强制操作系统的内核,或者防病毒程序使你的文件"不可删除"。
最诚挚的问候,
拉