2013-07-28 14 views
7

Ich habe versucht:Kann nicht User32.dll in Visual Studio importieren

  • user32.dll von Reference Manager und importiert sie aus Windows \ System32 \ user32.dll, Hinzufügen Ich habe Fehlermeldung:

    Ein Verweis auf 'C: \ Windows \ System32 \ user32.dll konnte nicht hinzugefügt werden. Stellen Sie sicher, dass auf die Datei zugegriffen werden kann und dass es sich um eine gültige Assembly oder COM-Komponente handelt.

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

  • Visual Studio als Administrator starten

Nichts funktioniert ... es geht mir auf die Nerven Ich versuche, 2 Stunden diese verdammte zu importieren .dll ...

+1

Was hinzuzufügen, dass DLL Ihr eigentliches Ziel ist? Sie haben 'DllImport' erwähnt, das eindeutig keine native DLL als Referenz hinzufügen muss ... –

+0

@RohitVats: Diese Frage behandelt .NET- oder COM-DLLs, nicht einfache Win32-DLLs wie' user32.dll'. – RichieHindle

Antwort

7

Sie müssen keinen Verweis auf User32.dll hinzufügen. Es ist Teil von Windows und kann in Ihren Code importiert werden, ohne eine Referenz hinzuzufügen. Sie tun dies mit 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"); 
} 

Siehe auch:

+0

Vielen Dank! Ich wusste nicht/weiß, dass diese Methode definiert werden sollte (public static extern void SetWindowText (int hWnd, String text);) – jovanMeshkov

+0

Nun, es ist nicht diese Methode, die rein definiert werden muss. Jede Methode, die Sie verweisen von 'user32.dll' müssen in diesem Format vorliegen: ' [System.Runtime.InteropServices.DllImport ("user32.dll")] '' public static extern void (); ' – jrbeverly

1

Es ist keine .NET-DLL. Sie fügen keine Referenz hinzu, wie Sie es bei .NET-DLLs tun. Stattdessen müssen Sie P/Invoke Code zu Ihrer App hinzufügen, um die gewünschten Funktionen aufzurufen. Hier finden Sie eine gute Quelle zum Lernen von pinvoke: http://pinvoke.net/