在Windows 7 64位计算机上将32位exe转换为64位exe



开发了一个32位Visual Basic dll。dll只写了一个具有两个整数参数的方法GetSum

现在使用后期绑定在Winform 32位应用程序中加载dll。传递两个整数值,在标签中显示总和。总和显示正确。

private void Form1_Load(object sender, EventArgs e)
{
     object[] args = new object[] { "89", "2" };
     Type comObjectType = Type.GetTypeFromProgID("Project1.Class1", true);
     object comObject = Activator.CreateInstance(comObjectType);
     Type acctualObjectType = comObject.GetType();
     object result = acctualObjectType.InvokeMember("GetSum", System.Reflection.BindingFlags.InvokeMethod, null, comObject, args);
     label1.Text = result.ToString();
}

我的问题是当我在Windows7 64位计算机上运行winfrom.exe时。在任务管理器进程部分显示类似"WindowsFormsApplication.exe*32"

意味着我的winfrom-exe在64位机器上以32位模式运行。我应该怎么做才能在64位机器上运行我的32位exe,以作为64位exe运行。

不希望*32附加到任务管理器进程部分的exe中。

首先:要创建dll,您使用的是Visual Basic.NET还是旧版Visual Basic 6?

如果您使用的是VB6,您将无法创建64位dll。如果您使用的是VB.NET,请将dll编译为64位。

记住,如果你的VB dll是一个32位的dll,你将无法从64位的应用程序中使用它。

最新更新