File 如何在Delphi中创建不可删除的文件

File 如何在Delphi中创建不可删除的文件,file,delphi,corrupt,file-manipulation,File,Delphi,Corrupt,File Manipulation,[以下是对我先前被认为模棱两可的问题的改写] 我正在深入研究为演示应用程序创建一个基本的许可机制。我的想法是这样的:应用程序在第一次运行时创建一个名为“0b1xa487x.ini”的空“许可证文件”,然后在第一次执行后30天过期,并且只要系统上存在该特定文件,就不能再运行 我要寻找的是一种方法,以防止删除的方式保护特定的文件。由于它将是一个空白文件,没有任何内容,我不介意它被损坏,有损坏的标题,无效的日期,无论需要什么来保持不可删除 我在某处看到了一种基于文件属性的类似方法(该文件设置了HX属性

[以下是对我先前被认为模棱两可的问题的改写]

我正在深入研究为演示应用程序创建一个基本的许可机制。我的想法是这样的:应用程序在第一次运行时创建一个名为“0b1xa487x.ini”的空“许可证文件”,然后在第一次执行后30天过期,并且只要系统上存在该特定文件,就不能再运行

我要寻找的是一种方法,以防止删除的方式保护特定的文件。由于它将是一个空白文件,没有任何内容,我不介意它被损坏,有损坏的标题,无效的日期,无论需要什么来保持不可删除

我在某处看到了一种基于文件属性的类似方法(该文件设置了HX属性);但是,属性方法对我没有任何帮助,因为我找不到任何关于文件属性X存在的文档化特性


我还知道还有其他方法,包括作为系统用户启动的rootkit驱动程序和系统服务,但这个方法似乎最适合这个场景。我再次强调,文件的内容也可能无法访问,我不打算使用这种方法从文件中运行任何类型的恶意软件,因为我被指控如下:)

腐败意味着不符合某些标准。空白文件没有标准

腐败意味着不符合某些标准。空白文件没有标准

关于您对Henk的最后一个回答,我认为创建服务、使用操作系统自动启动服务以及使用TFileStream在fmShareExclusive中打开文件更容易

但是,您不能强制操作系统内核或防病毒软件使您的文件“不可删除”

致以最良好的祝愿,

Radu

关于您对Henk的最后一个回答,我认为创建服务、使用操作系统自动启动服务以及使用TFileStream在fmShareExclusive中打开文件更容易

但是,您不能强制操作系统内核或防病毒软件使您的文件“不可删除”

致以最良好的祝愿,


Radu

谢谢大家的建议。我找到了一种使我的文件不可访问的方法,即使用文件权限的幸运组合。缺点是这些东西在非NTFS分区上不起作用。好的是,我可以在应用程序完成后通过编程删除这些权限,然后删除所有内容来进行清理。

谢谢大家的建议。我找到了一种使我的文件不可访问的方法,即使用文件权限的幸运组合。缺点是这些东西在非NTFS分区上不起作用。好的是,我可以在应用程序完成后通过编程方式删除这些权限,然后删除所有内容来进行清理。

你不能这样做。现在就放弃吧。@sphynx,你离问我们如何编写一个根工具包只有3个字了。请不要这样做。是的,这是一个糟糕的保护方案(让我想起过去的DOS时代和非标准的软盘)。这类文件表现不好,可能会导致其他工具(如磁盘碎片整理程序或磁盘检查)出现问题@sphynx如果我卸载演示,您将不可删除文件留在我的计算机中?我会将任何将不可删除文件放在我的计算机上的软件描述为恶意软件。这是我的电脑,不是你的,你不知道我怎么用它。你不能这样做。现在就放弃吧。@sphynx,你离问我们如何编写一个根工具包只有3个字了。请不要这样做。是的,这是一个糟糕的保护方案(让我想起过去的DOS时代和非标准的软盘)。这类文件表现不好,可能会导致其他工具(如磁盘碎片整理程序或磁盘检查)出现问题@sphynx如果我卸载演示,您将不可删除文件留在我的计算机中?我会将任何将不可删除文件放在我的计算机上的软件描述为恶意软件。这是我的电脑,不是你的,你不知道我怎么用。你好,拉杜。我正在尝试你的建议。如果操作系统无法处理“格式错误”的时间戳,那么这就是我需要的。我正在尝试创建一个系统检查(某种许可方案),我希望用户不能删除该文件。我很快会给你答复。请不要使用这种方法。作为一个用户,如果你在我的机器上创建不可删除的文件,我不会很高兴。在你不再需要它之后,你将如何删除它?我相信有更好的方法来解决许可证制度。你好,拉杜。我正在尝试你的建议。如果操作系统无法处理“格式错误”的时间戳,那么这就是我需要的。我正在尝试创建一个系统检查(某种许可方案),我希望用户不能删除该文件。我很快会给你答复。请不要使用这种方法。作为一个用户,如果你在我的机器上创建不可删除的文件,我不会很高兴。在你不再需要它之后,你将如何删除它?我相信有更好的办法来解决许可证制度。投票决定结束。问题非常不清楚/模糊。看起来更像是对已知Windows漏洞的请求,而不是对编程帮助的请求。@sphynx:你问了一个毫无意义的问题。什么是“损坏的空白文件”?根据定义,空白文件不会损坏,因为它没有内容。欢迎使用堆栈溢出。(真的!)。没有损坏的空白文件。您的评论表明,您真正想要的不是一个已损坏的文件,而是一个不可删除的文件,而您实现这一目标的想法是使其损坏。但它是否可删除与内容无关;它与文件系统的完整性和访问文件的能力有关。也许您只需要给一个文件起一个名字,这样它就不能在资源管理器中被选中,因此就不能被删除。请将问题正文更新为