0

我了解了在 ac# 控制台应用程序中调用 c++ dll 的过程。您能否帮助我在我再次用 c# 创建的表单应用程序的按钮功能之一中调用 c++ dll。

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教会了我,但只有当我在控制台应用程序上尝试它时才有效。

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

4

1 回答 1

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 异常。

于 2013-11-14T03:05:20.563 回答