请问高人:本人调用标准api函数时,经常会在编译时出现“can't  find  DLL  entry  point  **  in  *.dll”,各位高手,到底是什么原因啊??  
拜托了!!!

解决方案 »

  1.   

    找不到dll的入口,一般而言就是api函数声明错误,请仔细检查你的api函数声明部分
      

  2.   

    还有出了系统的dll文件,你的程序是不是还调用的其它的dll文件!
    如果有的话就将那个文件拷贝到你程序的目录里 就可以了
      

  3.   

    还有一种可能是需要你手工指定入口处的顺序号。如果首字符不是数字符号 (#),则 aliasname 是动态链接库中该过程的入口处的名称。如果首字符是 (#),则随后的字符必须指定该过程的入口处的顺序号。
      

  4.   

    你用的DLL是自己写的还是Windows自带的?如果是自己写的,一定要再Exports中写你的函数名。
      

  5.   

    可能是楼主的API资料旧了,老的资料里,有的API声明原来不需要 area "xxxxxxxxx" 而现在的WIN版本需要这样的入口。
      

  6.   

    对呀,以上的可能性都有。不过我感觉还是ClassicWuHao(Mouse) 说的的可能性比较大。以为我好像也犯过这种错误,在def中不写exports
      

  7.   

    多谢各位热情答复,
    我用的api是API Text Viewer 里copy 过来的,声明应该没问题。
    系统是2k,是系统的问题吗??
    还有 yunfeng007(一水寒) 说的“首字符不是数字符号 (#)”和
    hhjjhjhj(大头)说的“area  ”是什么意思??
    还望高手继续支持!
      

  8.   

    有一些api在2000下不支持
    会出现上面的问题
      

  9.   

    不好意,写错字了,应该是Alias
    如下面这个API有Alias,把Alias "FindWindowA"去掉就会出现题中所说错误。
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
      

  10.   

    To wwzg:
    不知道你用的是什么API函数,我记得在API Text viewer 里有几个(2个or3个)函数写错了,后来我通过比较长度,发现是了一个空格。你可以仔细的检查一下。这个是 Microsoft的错误。
    希望对你有帮助!!!