从winforms应用程序调用C ++ DLL

时间:2013-11-14 02:39:34

标签: c# winforms dll dllimport

我理解了在c#控制台应用程序中调用c ++ dll的过程。你可以帮助我在c#应用程序中的一个按钮函数中调用c ++ dll,这是我在c#中再次创建的。

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            // call the c++ dll here.
        }
     }
}

我希望在函数调用“button3_Click”中调用dll。我试过做

[DllImport("LicenseCheck.dll")];
public static extern void GetLicense();

调用stackoverflow教我,但那只有在我在控制台应用程序上尝试时才有用。

如果有人可以帮助我,那肯定会很高兴。感谢

1 个答案:

答案 0 :(得分:1)

我认为你将DllImport语句与代码内联,而不是在类体中。

你需要:

public partial class Form1 : Form
{
    [DllImport("LicenseCheck.dll")];
    public static extern void GetLicense();

    public Form1()
    {
        InitializeComponent();
    }

    private void button3_Click(object sender, EventArgs e)
    {
        // call the c++ dll here.
        GetLicense();
    }
 }

请注意,为此,DLL的位数应与应用程序的位数相匹配,否则将导致BadImageFormatException异常。