1.DllImport属性是不是只能访问windowsAPI里的DLL?可以访问我自己写的C++的DLL吗?
2.关于调用的格式是[DllImport("文件名")],这个是只用写文件名就行了吗?不用全路径??那编译器怎么找呢?
3.关于调用的文件是不是存在于本地计算机上??昨天我搜索User32.dll没有搜到,但是程序调用User32.dll成功了,困惑~~

解决方案 »

  1.   


    1,可以访问我们自己写的C++ DLL.
    2, 一定要写路径,除非你把你写的DLL放入默认的文件夹里.这样,自己就会自动地去找.
    3,调用的文件通常放在安装系统的服务器上,其实也就是放在本地的计算机上.
      

  2.   


    我曾经用.NET调用C++ DLL的,情况与你的一样.
      

  3.   

    1 可以使用
    DllImport会按照顺序自动寻找路径
    exe所在目录 
    System32目录
    环境变量目录
    [DllImport("kernel32.dll")] 
    public static extern bool Beep(int frequency, int duration);
      

  4.   

    当然可以调用自己写的C++的Dll了,并且C#的Dll和C++的Dll可以相互调用,若是用C++调C#的Dll最好用VS开发环境
      

  5.   


    但是我用windows自带的搜索文件功能却没有搜到User32.dll
      

  6.   

    User32.dll在System32目录就有啊,这个是操作系统自带的
      

  7.   

    @.GAC       .