10

我试过了:

  • 要从Reference Manager添加user32.dll并从Windows\System32\user32.dll导入它,我收到错误消息

    无法添加对“C:\Windows\System32\user32.dll”的引用。请确保该文件是可访问的,并且它是一个有效的程序集或 COM 组件。

  • using System.Runtime.InteropServices; [DllImport("user32")]

  • 以管理员身份启动 Visual Studio

没有任何效果...这让我很紧张,我正在尝试 2 个小时来导入这个该死的 .dll...

4

2 回答 2

11

您不需要添加对 User32.dll 的引用。它是 Windows 的一部分,可以在您的代码中导入而无需添加引用。您可以使用 P/Invoke 执行此操作。

[System.Runtime.InteropServices.DllImport("user32.dll")]
public static extern void SetWindowText(int hWnd, String text);

private void button3_Click(object sender, EventArgs e)
{
    IntPtr wHnd = this.Handle;//assuming you are in a C# form application
    SetWindowText(wHnd.ToInt32(), "New Window Title");
}

也可以看看:

于 2013-07-28T20:14:22.577 回答
1

它不是 .NET dll。您不会像使用 .NET dll 那样“添加引用”。相反,您必须将 P/Invoke 代码添加到您的应用程序以调用您想要的功能。这是学习 pinvoke 的好资源:http: //pinvoke.net/

于 2013-07-28T20:14:04.717 回答