CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  API

调用一个扫描仪程序API问题,已知函数和.dll文件

楼主scyu()2005-07-25 16:08:51 在 VB / API 提问

Private   Declare   Function   outputformatbtcvalidate   Lib   "C:\ProgramFiles\Kodak\XVCS6A\mcENnstd.dll"   (ByVal   x   As   Long)   As   Long  
   
   
  Private   Sub   Form_Load()  
  Dim   x   As   Long  
  outputformatbtcvalidate   (x)  
  End   Sub  
   
   
  但是编译出错“找不到指定的.dll文件”,该.dll的功能是用户名验证。  
  问各位高手,我应该如何写声明和调用语句呢?  
  问题点数:100、回复次数:15Top

1 楼DooDu(杜霖:I want,I can(开关拉))回复于 2005-07-25 16:31:37 得分 15

把mcENnstd.dll复制到你的exe目录里,然后这样写:  
  Private   Declare   Function   outputformatbtcvalidate   Lib   "mcENnstd.dll"   (ByVal   x   As   Long)   As   Long  
  Top

2 楼junki(『.NET技术争霸天下』)回复于 2005-07-25 16:40:11 得分 15

先手动注册一下,  
  如果你的outputformatbtcvalidate是全局调用API,最好把它声明为  
  公共类型,如:  
  Public   Declare   Function   outputformatbtcvalidate   Lib   "mcENnstd.dll"   (ByVal   x   As   Long)   As   LongTop

3 楼scyu()回复于 2005-07-25 17:21:00 得分 0

回复   DooDu(杜霖:I   want,I   can.(MmMVP马甲)(准备闭关……))   :  
                                                                      mcENnstd.dll跟我的exe程序在一个目录下。  
   
  回复     junki(『打破沙锅问到底』)   :  
                                                              我改成public后,编译出错:“常数,数组,用户定义类型以及Declare语句不允许作为对象模块的Public成员”  
   
   
   
  请众高手继续赐教啊!  
  Top

4 楼supergreenbean(超级绿豆(MSMVP - VB) - 升级归来~)回复于 2005-07-25 17:48:14 得分 40

请保证mcENnstd.dll所要用到的dll都在他们该在的地方先  
  然后再讨论如何声明参数Top

5 楼scyu()回复于 2005-07-25 18:39:56 得分 0

请问supergreenbean(超级绿豆   -   天气酷热,把我煮了熬汤吧)   :  
                                                                          你指的“该在的地方”是什么概念?我没有修改安装程序里的东西啊!其他的.dll文件都在一个路径里面:C:\ProgramFiles\Kodak\XVCS6A    
   
   
  请问junki(『打破沙锅问到底』)   :  
                                                          怎样手动注册呢?  
                                                   
  Top

6 楼scyu()回复于 2005-07-26 09:57:57 得分 0

请高手指点啊!在线等!!!!Top

7 楼crycoming(瞎编)回复于 2005-07-26 11:02:38 得分 15

命令行中运行下面的语句注册    
  regsvr32.exe   C:\ProgramFiles\Kodak\XVCS6A\mcENnstd.dllTop

8 楼scyu()回复于 2005-07-26 11:36:21 得分 0

回复   crycoming(瞎编):  
                                          晕了,为什么我在命令行中注册的时候出错,显示“LoadLibrary("c:\Program")failed-The   specified   module   could   not   be   found”,我的原路径program   files中间有空格,这应该没问题吧?应该不是系统原因吧?  
                                          请众高手继续啊!Top

9 楼crycoming(瞎编)回复于 2005-07-26 12:57:06 得分 0

应该没有问题的   你可以改成短路径试试啊Top

10 楼jadeluo(秀峰)回复于 2005-07-26 13:04:36 得分 15

“先手动注册,   然后再申明...”???  
   
  不要误人子弟啊,   注册(针对ActiveX   DLL而言)和申明只需要选择其一,   不会同时使用的。Top

11 楼scyu()回复于 2005-07-26 13:41:15 得分 0

感谢大家的关注,我觉得应该是     Dim   x   As   Long  
                                                          outputformatbtcvalidate   (x)  
                                                        这部分有问题,因为我想调用的是该软件的验证模块,而不是显示一个数字,但小弟又是刚接触vb,如果让我搞纯界面或WinApi可能好研究些,但是现在急需在自己的界面里调用该软件的程序,不知道参数调用部分怎么写,请大家继续指点啊!  
  Top

12 楼scyu()回复于 2005-07-26 18:22:37 得分 0

没人解决的了吗????明天下午结贴!Top

13 楼supergreenbean(超级绿豆(MSMVP - VB) - 升级归来~)回复于 2005-07-26 21:53:59 得分 0

你可以先把所有的dll复制到一个名称相对简单的目录里去(比如   C:\Dlls),然后再调用看  
   
  Private   Declare   Function   outputformatbtcvalidate   Lib   "C:\Dlls\mcENnstd.dll"   (ByVal   x   As   Long)   As   Long  
   
   
  如果还是出现同样的找不到文件,那你就用depends之类的工具看看这个dll到底需要哪些其他的dllTop

14 楼scyu()回复于 2005-07-27 09:41:00 得分 0

感谢   supergreenbean(超级绿豆   -   天气酷热,把我煮了熬汤吧)   的指点!  
  我下载了dependency   walker,分析了我的dll文件的依赖性以后,发现我要调用的dll包里面的大多数dll文件除了依赖相同目录下的另几个dll文件外,还依赖system32里面的一些系统的.dll文件,看来我死定了,这下更不知道怎么调用它们了!Top

15 楼supergreenbean(超级绿豆(MSMVP - VB) - 升级归来~)回复于 2005-07-27 16:23:41 得分 0

一般情况下你只要考虑那些除了windows自带dll外的第3方dll文件,把它们找到并放在一起后你就可以调用了Top

相关问题

  • DLL调用函数问题
  • DLL的函数调用????
  • 为什么DLL里的API函数无法调用
  • 能否像用API函数一样调用自己的Dll呀
  • 调用api函数出错
  • api函数调用问题
  • 高分求救!!在vc中怎样调用dll中的api函数??急!急!急!
  • 如何用VB生成具有可调用的API函数的DLL
  • Installshield中DLL调用 出口函数是调用 ShellExecute API执行一个应用 为什么出错?
  • 关于DLL中的函数调用

关键词

  • dll
  • 文件
  • 语句
  • 注册
  • 调用
  • mcennstd
  • outputformatbtcvalidate
  • xvcs6
  • 程序
  • programfiles

得分解答快速导航

  • 帖主:scyu
  • DooDu
  • junki
  • supergreenbean
  • crycoming
  • jadeluo

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo