如何在C ++中创建一个不可删除的注册表项(或文件)

时间:2011-02-06 12:26:11

标签: c++ windows registry protection trialware

我想创建一个我在C ++中开发的游戏的限时版本。 我已经遇到了一些创建文件的程序我仍然无法删除,而其他创建的注册表项很难删除(因为有几个子键需要将所有者更改为更深层次,删除它上去,更改所有者...)。

然后我认为唯一的方法是在计算机中创建一些没有(或几乎)不可删除的东西来标记试验的开始。我知道如何创建密钥或文件,但不知道如何保护它们。

感谢。

1 个答案:

答案 0 :(得分:4)

标准Windows API无法处理键/值名称中的空字符,而本机API可以。因此,您可以在名称中创建一个包含一个或多个NULL字符的密钥来存储许可数据,这些数据不会使用regedit等标准工具删除。

有关详细信息和源代码,请参阅:http://technet.microsoft.com/en-us/sysinternals/dd581628