我正在尝试使用无法通过Visual Studio添加为引用的DLL中的函数(显示“无法添加引用”的消息)。但是,我已经从DLL的创建者那里获得了指示,他们建议我在VB.Net中使用它们:
Private Declare Function Prn_Init Lib "VAx_VPOS396_APPAPI.dll" () As Integer
这有效,但现在我想用C#编写一个程序。如何将该声明“翻译”为C#?
附加:在C ++中,声明带有* .h文件,其中包含以下行:
#ifndef _VPOS396DLL_API_H
#define _VPOS396DLL_API_H
VPOS396_DLL_API int Prn_Init(void);
答案 0 :(得分:1)
您应该创建要在C#中使用的方法,使它们extern
并添加[DllImport]
属性。例如:
[DllImport("kernel32.dll")]
static extern bool Beep(uint dwFreq, uint dwDuration);
请参阅https://msdn.microsoft.com/en-us/library/aa984739%28v=vs.71%29.aspx
答案 1 :(得分:0)
[System.Runtime.InteropServices.DllImport(" VAx_VPOS396_APPAPI.dll&#34)]
public static extern unsafe Int32 Prn_Init(void);
("不安全"是可选的)