是否有直接安装库的程序 以便没有库的电脑能够运行我的文件?高分!

Hinchi 2016-09-13 11:30:16
我做了一个VB程序,包括了以下五个API声明

Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long

Private Declare Function PlgBlt Lib "gdi32" (ByVal hdcDest As Long, lpPoint As POINTAPI, ByVal hdcSrc As Long, ByVal nXSrc As Long, ByVal nYSrc As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hbmMask As Long, ByVal xMask As Long, ByVal yMask As Long) As Long

然后我把做好的用本机编码译成exe文件发给另外一个人A,A打开后会弹出
“Unexpected error”的对话框
然后我又编译成P代码发给他,效果是一样的
于是我做了一个空程序(进入form1,什么都没有做,直接变成exe发给A),A可以正常运行

然后我又发给B,C,D,E,其中B,C,D都是和A同样的问题,打不开,直接弹出Unexpected error”对话框然后退出
但是E可以正常打开,而且他的电脑上有这些东西



于是我就推断A,B,C,D打不开的原因是没有安装相应的环境

这就是大概的情况
我的问题是:
1.“Unexpected error” 无法打开是不是因为他们没有安装库的问题?
2.A,B,C,D不想安装VB来安装库,有没有直接安装库的东西可以让他们能够正常运行?(最好有链接~)
O(∩_∩)O谢谢大家了!
...全文
2868 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
舉杯邀明月 2016-09-13
  • 打赏
  • 举报
回复
这应该根本不是什么“库”的问题,VB6的程序,“理论上”只依赖MSVBVM60.dll , 这个文件,目前各个版本的Windows系统中都是带上它的(包括绝大多数的PE工具系统,因为文件才1.3M多点)。 “别人的电脑”基本上不用安装什么东西,就能正常运行。 当然,如果你的程序中用了“第三方控件”(也就是“标准控件”之外的其它控件,但控件代码在工程内的除外), 或引用了第三方的dll库,你就要注意:这是出自微软的?还是“真正的第三方”提供的。 如果不是微软的东西,必须把相应的.ocx或dll文件带上(部分出自微软的也得带上,比如MSCOMCTL.OCX等)。 简单的方法,就是把.exe和.ocx“放在相同文件夹中”, “别人的电脑”上运行时,第一次要“以管理员身份运行”,这样ocx文件会自动被注册。 但ActiveX DLL不行,不能被自动注册的,你可以在“程序入口”处用代码通过regsvr32进行注册。 这种一般要从Sub Main启动程序。 如果直接从窗体启动、并且你的Form_Load() 中直接用到了“第三方对象”,窗体都不能加载,程序自然也咔嚓了。 如果你的程序只用到了标准控件,和上面提到的那几个API, 可以明确的说:你的“程序错误”是你的程序设计问题, 那几个API都是系统的“基本DLL库”中的,文件肯定不会缺少,错误原因绝不是“库”的问题。
赵4老师 2016-09-13
  • 打赏
  • 举报
回复
用depends.exe查看exe和dll依赖的其它dll及其版本号。
赵4老师 2016-09-13
  • 打赏
  • 举报
回复
Hinchi 2016-09-13
  • 打赏
  • 举报
回复
拜托大家帮我解决一下啦谢谢!
舉杯邀明月 2016-09-13
  • 打赏
  • 举报
回复
引用 6 楼 Hinchi 的回复:
[quote=引用 4 楼 Chen8013 的回复:] 这应该根本不是什么“库”的问题,VB6的程序,“理论上”只依赖MSVBVM60.dll , 这个文件,目前各个版本的Windows系统中都是带上它的(包括绝大多数的PE工具系统,因为文件才1.3M多点)。 “别人的电脑”基本上不用安装什么东西,就能正常运行。 当然,如果你的程序中用了“第三方控件”(也就是“标准控件”之外的其它控件,但控件代码在工程内的除外), 或引用了第三方的dll库,你就要注意:这是出自微软的?还是“真正的第三方”提供的。 如果不是微软的东西,必须把相应的.ocx或dll文件带上(部分出自微软的也得带上,比如MSCOMCTL.OCX等)。 简单的方法,就是把.exe和.ocx“放在相同文件夹中”, “别人的电脑”上运行时,第一次要“以管理员身份运行”,这样ocx文件会自动被注册。 但ActiveX DLL不行,不能被自动注册的,你可以在“程序入口”处用代码通过regsvr32进行注册。 这种一般要从Sub Main启动程序。 如果直接从窗体启动、并且你的Form_Load() 中直接用到了“第三方对象”,窗体都不能加载,程序自然也咔嚓了。 如果你的程序只用到了标准控件,和上面提到的那几个API, 可以明确的说:你的“程序错误”是你的程序设计问题, 那几个API都是系统的“基本DLL库”中的,文件肯定不会缺少,错误原因绝不是“库”的问题。
是的,我改成了Sub Main启动 现在这个问题没有了,但是出现 RUNTIME ERROR 50003,请问又是怎么回事呢[/quote] 我查了一下,根本没有 代码为“50003”的运行时错误信息。 你把异常错误消息的文本内容贴出来,或者截图贴出来。 自己仔细分析一下你的代码, 有必要进行异常捕获的地方,自己用 On Error Goto设置一下“错误陷阱”处理一下! 别老是滥用 On Error Resume Next 。 没有代码,别人根本不可能直接指明错误原因,我们不是神仙!!!
赵4老师 2016-09-13
  • 打赏
  • 举报
回复
引用 7 楼 Hinchi 的回复:
[quote=引用 5 楼 zhao4zhong1 的回复:] 在64位Windows下: 64位exe和dll在目录c:\windows\system32目录下; 32位exe和dll在目录c:\windows\syswow64目录下; 所以要注意: 在win64位系统下注册32位ocx或dll需要将32位ocx或dll拷贝到c:\windows\syswow64\目录下。 且注册要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll
他们电脑上确实有MSVBVM60.dll 并且已经注册了 我改成SUB MAIN启动,然后这个弹框就解决了,但是又出现 runtime error 50003这个新的情况,请问又是什么问题呢?[/quote] 在目标机上安装VB6,在VB6 IDE中运行exe对应的源代码,出错时点调试,光标会停在出错的VB6源代码行,此时可以在立即窗口中使用 ?变量名 显示相关变量的值 使用 过程名 参数列表 立即调用过程 或使用 ?函数名(参数列表) 立即调用函数
Hinchi 2016-09-13
  • 打赏
  • 举报
回复
引用 5 楼 zhao4zhong1 的回复:
在64位Windows下: 64位exe和dll在目录c:\windows\system32目录下; 32位exe和dll在目录c:\windows\syswow64目录下; 所以要注意: 在win64位系统下注册32位ocx或dll需要将32位ocx或dll拷贝到c:\windows\syswow64\目录下。 且注册要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll
他们电脑上确实有MSVBVM60.dll 并且已经注册了 我改成SUB MAIN启动,然后这个弹框就解决了,但是又出现 runtime error 50003这个新的情况,请问又是什么问题呢?
Hinchi 2016-09-13
  • 打赏
  • 举报
回复
引用 4 楼 Chen8013 的回复:
这应该根本不是什么“库”的问题,VB6的程序,“理论上”只依赖MSVBVM60.dll , 这个文件,目前各个版本的Windows系统中都是带上它的(包括绝大多数的PE工具系统,因为文件才1.3M多点)。 “别人的电脑”基本上不用安装什么东西,就能正常运行。 当然,如果你的程序中用了“第三方控件”(也就是“标准控件”之外的其它控件,但控件代码在工程内的除外), 或引用了第三方的dll库,你就要注意:这是出自微软的?还是“真正的第三方”提供的。 如果不是微软的东西,必须把相应的.ocx或dll文件带上(部分出自微软的也得带上,比如MSCOMCTL.OCX等)。 简单的方法,就是把.exe和.ocx“放在相同文件夹中”, “别人的电脑”上运行时,第一次要“以管理员身份运行”,这样ocx文件会自动被注册。 但ActiveX DLL不行,不能被自动注册的,你可以在“程序入口”处用代码通过regsvr32进行注册。 这种一般要从Sub Main启动程序。 如果直接从窗体启动、并且你的Form_Load() 中直接用到了“第三方对象”,窗体都不能加载,程序自然也咔嚓了。 如果你的程序只用到了标准控件,和上面提到的那几个API, 可以明确的说:你的“程序错误”是你的程序设计问题, 那几个API都是系统的“基本DLL库”中的,文件肯定不会缺少,错误原因绝不是“库”的问题。
是的,我改成了Sub Main启动 现在这个问题没有了,但是出现 RUNTIME ERROR 50003,请问又是怎么回事呢
赵4老师 2016-09-13
  • 打赏
  • 举报
回复
在64位Windows下: 64位exe和dll在目录c:\windows\system32目录下; 32位exe和dll在目录c:\windows\syswow64目录下; 所以要注意: 在win64位系统下注册32位ocx或dll需要将32位ocx或dll拷贝到c:\windows\syswow64\目录下。 且注册要用c:\windows\syswow64\regsvr32 xxxxxxx.ocx或dll
Radmin (Remote Administrator) 是一款远程控制软件,可以远程管理公司或个人计算机,实现远程办公。可以进行完全控制、屏幕监视、文件管理、远程DOS操作等功能。操作简单,容易上手,只需要被控制主机执行服务端,安装服务,设置好连接端口和密码,您就可以利用控制端进行远程控制。 软件特点: 运行速度快,在10Mbps局域网的测试中,它比流行的VNC要快上150倍,也超过了PcAnywhere。 Radmin支持被控端以服务的方式运行、支持多个连接和IP过滤(即允许特定的IP控制远端机器)、个性化的文件互传、远程关机、支持高分辨率模式、基于 Windows NT 的安全支持及密码保护以及提供日志文件支持等。 在安全性方面,Radmin支持 Windows NT/2000 用户级安全特性,您可以将远程控制的权限授予特定的用户或者用户组,Radmin将以加密的模式工作,所有的数据(包括屏幕影像、鼠标和键盘的移动)都使用128位强加密算法加密;服务器端会将所有操作写进日志文件,以便于事后查询,服务器端有IP过滤表,对IP过滤表以外的控制请求将不予响应。 与PcAnywhere不同,Radmin目前只支持TCP/IP协议,不过没有关系,TCP/IP是目前网络应用中最流行的协议,应用十分广泛。 程序体积小巧,并且安装简单、配置容易,安装程序大小为1.2MB,但其具备了所有这类软件的常用功能。 应用环境: Radmin常用于远程教育、培训和演示活动中:Radmin服务端支持并发的多连接,这就意味着,多台控制机可以同时跟踪被控计算机的屏幕。这样,无需您亲自到场,培训和演示的环境就可以搭建完成,还节省了购买投影机费用,真是一举两得。 网络管理功能:有了Radmin,网络管理员的工作会变得轻松许多,笔者管理一个拥有30台客户端的小型网络,以前总为应用程序的升级和客户端的配置变更而伤透脑筋。使用Radmin之后,坐在办公室里就可以将这些工作轻松完成,还能够不用坐在机房内就可以监控机房主机的运行,真是方便极了。 技术的支持:同时不要忘了Radmin不仅可以运行在局域网内,TCP/IP协议还具有全球通用性。如果客户电脑的软件配置出了问题,上门服务既费时间又费钱,如果需要紧急处理,有时不能及时赶到。有了Radmin这些问题就会迎刃而解了,只要客户启动Radmin服务,通过Internet技术支持人员就会迅速来到客户身边,远程解决客户电脑的问题了。 【软件使用方法】: 1.绿色版软件,不需要安装;压缩包里如果有【@绿化工具.exe、!)绿化.bat 、 !)绿化.reg 、 !)绿化.cmd 、@Install_绿化.exe、 !)双击导入.reg 、 !)注册导入.reg】等类似文件。 请先要运行该类文件,这样才能让程序正常运行。 2.安装好软件后,将注册机放在安装目录的文件夹内 3.双击注册机,软件运行,看到有注册按钮后,点注册,在注册信息里填写用户名等,注册码随便填写 4.点击确定按钮,注册机将出现正确的注册码,将刚才的注册名和正确注册码填入软件即可注册。 破解补丁使用方法: 1.安装好软件后,将补丁放在安装目录文件夹内 2.运行补丁,后即可使用软件。即使软件显示未注册,但所有功能和时间限制都已经破除
Radmin是一款快速的远程控制软件,可以用来远程管理公司或个人计算机来实现远程办公。你可以通过鼠标和键盘来控制远程的电脑,就好象直接坐在电脑操作自已的电脑一样。Radmin具有完全控制、屏幕监视、Telnet、文件传输管理、语音聊天、文字聊天、发送讯息、关机等功能,这些功能足以能满足你的办公需求。 Radmin由服务器端(被控端)和查看程序(控制端)两个部份组成,您只需要在被控制主机执行服务端,安装服务,设置好连接端口和密码,您就可以利用查看程序(控制端)对远程电脑进行远程控制。 它有以下特点: 1.运行速度快。 2.Radmin支持被控端以服务的方式运行、支持多个连接和IP 过滤(即允许特定的IP控制远程机器)、个性化的档互传、远程关机、支持高分辨率模式、基于Windows NT的安全支持及密码保护以及提供日志文件支持等。 3.在安全性方面,Radmin支持Windows NT/2000用户级安全特性,您可以将远程控制的权限授予特定的用户或者用户组,Radmin将以加密的模式工作,所有的数据(包括屏幕影像、鼠标和键盘的移动)都使用128位强加密算法加密; 服务器端会将所有操作写进日志文件,以便于事后查询,服务器端有IP过滤表,对IP过滤表以外的控制请求将不予回应。 4.Radmin 目前支持TCP/IP协议,应用十分广泛。
[教程] 充分发挥手机500W像素优势发个真正可以实现安卓做PC摄像头的教材 软件 不喜勿喷 好长时间没来了 今天显得难受 从网上 偶尔发现一个 可以把安卓手机作为PC 摄像头的 软件 亲测可用哦 还不错 就推荐给大家 或许人多人 在网上看多过 本帖旨在 整理下 网络资源 给小白们服务 大神绕过 谢谢 下面 上教程(备注 本帖转自网络 经本人整理修改 感谢原作) 利用DroidCamX将手机摄像头打造成电脑高清摄像头 此软件 一共有三种连接方式 WIFI USB 跟蓝牙 经过本人亲测体验 只推荐给大家 前两个方式 因为蓝牙实在是太卡 根本不流畅 再次就不 给机油没介绍这个 很蛋疼的 连接方式了 一、软件安装 此软件 分为 手机端 跟PC 端 需要用到的文件已经全部整理好,所以下载回来是一个压缩包,共包含如下三个文件: 首先安装手机端——HA-20110427-DroidCamX.Wireless.Webcam.Pro.1.4.2._GCA.apk 安装到手机上 再安装PC端,打开DroidCamX1.4.2.rar,直接运行Droid Cam-3.2.exe 一路点击下一步,即可安装完成。默认安装目录为C:Program Files DroidCam(32位系统)或C:Program Files (x86)DroidCam(64位系统),为了使用更方便,将“电脑端DroidCamApp.exe汉化覆盖.zip”中的DroidCamApp.exe覆盖掉安装目录下的同名文件,软件界面即变成中文。 到此为止,所有安装工作已经做完了。可以为DroidCamApp.exe建立一个桌面快捷方式,因为它是DroidCam客户端的主程序。 二、WiFi无线摄像头 当无线摄像头来使用是最简单的,先打开手机WiFi并连接上无线路由,然后在手机上启动DroidCamX,看到如下画面。显示IP:192.168.1.102 端口:4747。 再启动PC端,连接方式选择WiFi/LAN,再将手机IP和DroidCam端口填上在手机端界面看到的即可。 点击Connect,手机现在的画面已经变成摄像头显示画面了。手机端的画面可能是左右相反的,没关系,先不用理会。这个界面有三个按钮,右上方是自动对焦,中间是亮度节能开关,下方是退出。 虽然手机界面上显示是左右反的,但在电脑上显示出来其实是正常的,如果部分用户仍然不正常可以勾选pc端的“镜像网络视频”。要使用该摄像头,在视频设备里选择DroidCam就可以了,QQ、Skype等各种需要使用摄像头的软件都完美兼容。 强烈推荐方式!!! 三、USB摄像头(个人也比较终于USB 连接 所以 强烈推荐用USB 方式连接 好处是速度 稳定 省电) 这是笔者比较推荐的方式,速度快,而且一边使用一边充电,不用担心手机电量被短时间用完。使用USB连接要稍微麻烦一点,先做一点准备工作:下载adb客户端及驱动,解压缩后,把里面 adb.exe 和 AdbWinApi.dll 两个文件(搜索一下你的电脑,一般用安卓手机的电脑里都有这东西)放到系统盘的 windows/system32 文件夹里就可以了。 为了方便以后使用,建立一个bat文件,内容为adb forward tcp:4747 tcp:4747。 其实很多 小白 不懂如何创建BAT 文件 其实很简单 在桌面右击新建一个文本 把adb forward tcp:4747 tcp:4747 粘贴到文本里 保存 把文本的 格式改为.bat 即可(文本名字可以忽视) 先运行手机端。然后在PC上运行这个bat文件一次,再运行DroidCam客户端,选择连接方式为“ADB(由USB)”,点击Conect。如果不运行bat或者设置的端口与bat内的不一致,会有错误提示。 连接成功后界面与WiFi连接时是一样的,就不再多做介绍了。 软件设置 因为此软件是一直使用摄像头的,所以设置里提供了一些基本的节能设置,如自动变暗、黑色背景。另外保持手机唤醒这样可以避免部分手机在休眠时wifi自动断开而使软件无法继续使用。 前后摄像头是可以切换使用的,连接端口也可以修改成其他的。友情提醒,如果修改了端口号,PC的客户端也要做对应的修改,使用usb连接里的bat里命令包含的端口号同样要修改。 除了以上外,视频格式也提供了三种风格供选择,视频分辨率也可调节。 视频分辨率比较丰富,最高720x480到最低240x160,分辨率越高效果自然越好。 还要一提的是除了支持当摄像头外,它也能同时当麦克风,在PC上的客户端上勾选上启用音频即可。 手机当电脑摄像头这个功能,其实在S60和WM时代就已经有相应的软件来实现了,但以前的效果都比不上传统摄像头。DroidCamX给我们带来了希望,支持高分辨率,支持多种方式,在使用wifi与USB连接时传输图像都很流畅,实用性毋庸置疑。 安装调试 成功了 你可以充分 发挥 你手机的高像素 实现高清视频功能了 哈哈 500W 像素 可以秒杀了 普通本本的 130W 像素摄像头 不喜勿喷 感觉好 就评个分把 谢谢(评个分又不会怀孕 ) 下面 上传 本软件工具 DroidCamX手机摄像头.part1.rar (3.18 MB, 下载次数: 728) DroidCamX手机摄像头.part2.rar (2.97 MB, 下载次数: 683) 注意 有机油 说不能使用高分辨率这个情况 这个可能与 相机本身 或者是手机本身的分辨率有关 小蜜已经给同学 本人只在戴妃上测试了 一切正常 如果有机油发现问题 或者是 找出解决的 办法 欢迎跟帖 谢谢

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧