一个exe文件如何在运行后修改自身文件的内容同时又不影响程序的运行,例如在exe文件运行后,exe中的一段程序的功能是向本身插入版权的记录,在以后的程序运行时,exe文件检查自身是否被插入了版权信息,如果插入了则继续运行,否则提示输入版权信息,这个功能不知道怎么实现,大侠们救命啊

解决方案 »

  1.   

    如果要通过windows的文件系统来改肯定不行。倒是可以根据文件所在的目录树,通过文件分配表找到文件所在的簇,再直接修改文件扇区。
    这样做就太复杂了,首先你要写一个驱动来直接访问硬盘。另外还要判断不同的文件系统,是FAT32还是NTFS等等。再说还要找到文件的位置,还有效率问题,硬盘缓冲问题……
    所以还是不要尝试用底层来修改了。
      

  2.   

    在exe运行后,系统把文件锁定,这个问题在dos和win32中不存在,请问能给文件解锁吗?用什么函数解锁?
    我用UltraEdit打开exe文件后修改了exe文件中的ASCII码值,然后就可以保存,我就是希望能用exe自身来实现这个功能,请帮忙想一下,谢谢
      

  3.   

    http://jiurl.nease.net/document.htm中的将EXE程序的设置保存在EXE文件本身可能会有帮助,比较简单,也容易实现