形式为FUNNAME(WCHAR * puuid, DWORD len, int type)的API函数,在C#中应该如何调用?

解决方案 »

  1.   

    你需要DllImport一下,详细你参看以下msdn
    如果还不明白的话,先把dll名,以及函数名说出来
      

  2.   

    如何声明函数,我都弄好了,头文件如下:
    #if !defined(_H_PHONEID_)
    #define _H_PHONEID_#define INFO_TYPE_SERIAL_NUMBER 0X02// type is INFO_TYPE_SERIAL_NUMBER
    BOOL GetDeviceIMEI(WCHAR * puuid, DWORD len, int type);#endif // !_H_PHONEID_
    我调用的代码如下: [DllImport("PhoneID.dll")]
    public static extern bool GetDeviceIMEI(System.Text.StringBuilder m, int len, int type);

    private static int FILE_DEVICE_HAL = 0x02;
    private void Form1_Load(object sender, EventArgs e)
    {
    System.Text.StringBuilder s = new StringBuilder(50);
    bool b = GetDeviceIMEI(s, 50, FILE_DEVICE_HAL);
    MessageBox.Show(s.ToString());
    }
    不知道为什么总是失败,b值为false,s中无返回值
      

  3.   

    C#中调用API与在C++中没什么大的区别吧
      

  4.   

    你在dll中进行输出信息,看看调用到哪一步失败了
      

  5.   

    找个DLL是运行在WINCE环境下的,他提供的例子程序是能读出手机的IMEI码的,但是可惜他提供的是EXE文件,用EVC写的。我搞了一天也没有调用成功