13 Stimmen

Holen Sie den Griff eines bestimmten Fensters mithilfe von user32.dll

Wie kann ich das Handle eines bestimmten Fensters mit user32.dll erhalten?

Kann mir jemand ein kurzes Beispiel geben?

21voto

crypted Punkte 9808

Versuchen Sie es mit den folgenden:

// Für Windows Mobile ersetzen Sie user32.dll durch coredll.dll
[DllImport("user32.dll", SetLastError = true)]
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

// Fenster nur nach Beschriftung finden. Beachten Sie, dass Sie als ersten Parameter IntPtr.Zero übergeben müssen.

[DllImport("user32.dll", EntryPoint="FindWindow", SetLastError = true)]
static extern IntPtr FindWindowByCaption(IntPtr ZeroOnly, string lpWindowName);

// Sie können auch FindWindow(default(string), lpWindowName) oder FindWindow((string)null, lpWindowName) aufrufen

Sie können diese Deklarationen wie folgt verwenden

// Fenster nach Beschriftung finden
public static IntPtr FindWindow(string Fenstername)
{
    var hWnd = FindWindow(Fenstername, null); 
    return hWnd;
}

Hier ist eine kompakte Version des Codes:

public class WindowFinder
{
    // Für Windows Mobile, ersetzen Sie user32.dll durch coredll.dll
    [DllImport("user32.dll", SetLastError = true)]
    static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

    public static IntPtr FindWindow(string Beschriftung)
    {
        return FindWindow(String.Empty, Beschriftung);
    }
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X