通常软件保存用户数据无非两种方法:
1.自己建立文件保存用户数据。
2.在注册表中保存数据。
有没有可能利用软件可执行文件自身来保存数据呢?因为软件还在运行,直接修改自身是不可能的。但有一种间接的方法:先制作一个自身的副本,然后修改副本后退出。退出时运行副本,副本运行时将自身复制为主后退出。副本退出时再运行主本,此时主本再删除副本。
整个过程的关键是识别自身是主本还是副本及此次运行要执行的操作。这些可通过加命令行参数来识别。
如果副本运行时主本还未退出,则复制或删除会失败,所以要等待动作成功完成后再进行下一步。
缺点是退出到副本能运行之间有段时间的,所以窗口会闪一下。
此方法可用于软件自升级,即用下载到的新软件替换自身。
1