如何在一个exe或者dll文件上面记录并保存用户的登录id和密码,以及一些程序相关的配置信息,并且这些信息是可以添加,修改和删除的,本人自学vb不久,望各位朋友赐教,如果可以给出代码,本人不胜感激。

解决方案 »

  1.   

    我想你的意思大约是,要把信息保存到一个EXE或者DLL文件上,并且同时能确保EXE能正常运行,或者DLL能被正常调用。
    以前我看到过类似的文章。用记事本或者其他工具打开一个EXE/DLL文件,可以看到里面有“This program cannot be run under DOS”或者“This program must be run under Win32 mode”之类的字符串,保存信息就是通过修改这串字符串而间接实现的。例如要保存一个参数1,可以把“This program cannot be run under DOS”中的第一个T改成U,即ASC码+1,具体算法还得由你决定。
    如果要实现这样的功能,使用VB中的二进制文件读写就可以实现。
      

  2.   

    我现在的意思是这样,不用外部的ini文件以及数据库,就在exe或者dll文件里面直接将登录id和密码,以及一些程序相关的配置信息,当用户运行程序的时候,在登陆窗体上的ComboBox控件里面就可以列出
    登陆过的帐号。我有一个初步的设想就是在登陆的窗体上面嵌入一个文档,然后文档上面创建一个数组,通过对数组的修改达到保存数据的目的。不知道这个方案是否可行,如果可行的话该如何实现。
      

  3.   

    有听说过自杀程序吗?就是程序运行后将自己的EXE删除。
    这种做法可以读写自生的EXE文件。
    你可以自己建立一个足够存储你要保存信息的一个文件,然
    后将其作为资源文件放到你的EXE中。当你将你的权限提升后
    可以读些你的EXE将数据保存到你预留的资源文件空间内,当
    然这需要对进程进行设置才可以。最简单的方法是多做一个EXE专门修改你的EXE,把它也作为资
    源放到程序里,当要保存信息的时候将就该你程序的EXE释放
    到磁盘,通过命令参数启动他,告诉他要保存的数据,然后
    关闭自生的程序(这样进程结束后不受保护)。这时被运行参
    数激活的程序等待一两秒时间给原始程序安全结束,然后可以
    根据参数开始保存数据,当数据保存完毕后激活原始程序,然
    后关闭自生程序。原始程序启动时也等待一两秒,然后检测是
    否存在用来保存而释放的EXE程序,如果存在删除掉即可。上面的方法工序是不少,但技术很简单,绝对可以达到目的。