我在将一个旧的VB4的程序改写为VB6,里面用到4个控件两个引用,一个旧的控件是不再支持的了,要先运行一个.REG文件才能注册使用,而另一个mscomm32.OCX,开发时用到了较新版本的,比普通XP或其它自带的版本要高.当然这些控件或引用也会过时?所以想将这几个文件全部放到当前目录中的SYSTEM文件夹中,并每次打开程序时就重新,注册引用,这样会对其它程序有影响吗?这样的想法合理吗?这样是否就可以做成绿色的程序?因没有做过类似的工作,只是看了网上的一些文章,的胡乱想法,请各位赐教!

解决方案 »

  1.   

    所谓绿色程序就是拷贝就能用,不需要注册任何组件,因为XP已经包括了VB6的运行库,所以这个可以不要.
    VB如果要做成绿色软件,那么几乎所有窗体和控件都不能用了,只能用SUB MAIN启动,并且依靠系统默认API来实现所有功能,不知道楼主的程序是否符合.
      

  2.   

    以前测试了下,把OXC,dll放到路径下还是有问题,没法很好的运行
      

  3.   

    你的想法是可以的,但不应该放到系统目录下,你不能保证别的软件不会用到你的组件,你注册后别的软件也重新注册,那你的注册就是无效的。可以放到软件路径下的一个固定文件夹,每次启动都重新注册一下,可以调用regsvr32或者用两个VBI函数就可以完成注册;最好写成循环遍历该文件夹下的组件注册,这样即使你的程序更新或者增减新的dll、OCX等组件只要把文件放到该目录下就可以自动注册。