怎样把我写的程序做成绿色软件? 我写的小软件不打包,不封装,在本机是绿色的,但放在其它没有装过VB的机器上就不能运行了,我知道打包可以让它在任何机器上运行。但它还要在其它机器上安装,请问有什么办法在其它机器上不安装就可以运行吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 VB做不出真正的绿色软件,最多只能把需要的DLL,OCX封装到资源文件中,运行时候释放出来。 Win 98se 以上版本自带VB6的运行库,所以只要程序中不用第三方控件或.dll,只用标准控件,在这些操作系统下就是绿色的。好像限制多了些,不过没办法。 vb在2000和xp下不用那几个标准的文件(系统内置的有)但是如果你用象commondalog等还需要加载一个ocx(系统没有)打包和封装不一样,打包多用于程序的最后一步,打包后就可以发布了。封装一班指函数的设计方面的不知道我说的对不对:) 不知道我的看法对不对:打包就是制作安装程序,做好后就是安装程序,可以直接发布。封装是OOP的一个很重要的概念,应该是一种对类的处理办法。 用VB制作绿色软件最主要的一个限制是不能使用第三方控件,包括像VB自己提供的那些Gird、DTPicker、Common Controls一类的控件,以及用户自定义的、需要单独编译的控件。只要满足这个条件,那么一般是可以制作出绿色软件的,方法很简单,你只要把msvbvm等几个基本库和你build好的exe文件放在一起就行了,因为windows的exe文件需要用到其他dll(不是com的dll)的时候,首先会在system或者system32下找,找不到的时候就会在当前路径下找,所以,只要这些文件和你的程序在一起,那么无论系统原先有没有msvbvm,程序都可以使用。顺便说一句msvbvm是不需要注册的,vb运行所需要的最基本的几个dll也是不需要注册的。 那么就是说要做成绿色软件,WINSOCK控件也不能用了? 不一定,有些控件是可以的。据我所知,winsock、mscomm、richtext这几个可能都可以,而common dialog、common controls(包含listview、treeview的那个)等好像都有一定的局限性。具体的可以自己试一下。不过,上面提到的这些控件,很多都可以避免调。比如common controls,在所有的操作系统下都有,但是版本不一样,所以只要不使用其中具有版本差异的方法、事件,并且使用运行时加载的方式就可以用了。而对于winsock这类的控件,虽然我好像没有听说过有版本差异的,但是因为winsock控件实际是对windows下wsock32.dll的封装,所以完全可以直接使用wsock32下的API,而wsock32这个dll是不需要注册的。 AresChen(AresChen) 说的方法值得借鉴 收藏 调用的控键文件放在一个目录下。运行程序是用 app.path调入。然后找一台机器安装。安装完拷贝一下安装目录。 下面的代码,不能获取的物理地址?! vb网络编程 我是一个菜鸟,API接口怎么使用啊?? 如何用treeview显示数据库中的内容 "ByRef参数类型不符"的问题 如何获得所有菜单名? 求 html编辑控件 MSflexgrid作表格数据录入问题 请求高手指教:有关WebBrowser的问题 请教高手,如何在按下 Tab 键时,做到象VB那样整行文字的移动呢??? 从两张表中提取一些字段建立一个新的临时表,SQL语句出错,求助 Dirlistbox的外观
打包和封装不一样,打包多用于程序的最后一步,打包后就可以发布了。封装一班指函数的设计方面的
不知道我说的对不对:)
打包就是制作安装程序,做好后就是安装程序,可以直接发布。
封装是OOP的一个很重要的概念,应该是一种对类的处理办法。
顺便说一句msvbvm是不需要注册的,vb运行所需要的最基本的几个dll也是不需要注册的。
具体的可以自己试一下。
不过,上面提到的这些控件,很多都可以避免调。比如common controls,在所有的操作系统下都有,但是版本不一样,所以只要不使用其中具有版本差异的方法、事件,并且使用运行时加载的方式就可以用了。而对于winsock这类的控件,虽然我好像没有听说过有版本差异的,但是因为winsock控件实际是对windows下wsock32.dll的封装,所以完全可以直接使用wsock32下的API,而wsock32这个dll是不需要注册的。
收藏
运行程序是用 app.path调入。
然后找一台机器安装。
安装完拷贝一下安装目录。