Windows Titel auslesen

    • Offizieller Beitrag

    Mit den folgenden Funktionen kann ich das Window Handle auslesen:


    Nun wollte ich versuchen den Titel auszulesen:

    Code
    proc GetWindowText*(hWnd: cint, lpString: cstring, nMaxCount: int32): int32 {.cdecl, varargs, importc: "GetWindowTextA", dynlib: "User32.dll".}

    Wenn ich die Funktion mit Dll-Aufruf in AutoIt oder Lua ausführe übergebe ich als Buffer (lpString) einfach einen String. Das klappt dort - aber nicht in Nim, der String wird nicht befüllt. Wenn ich statt cstring einen ptr cstring oder ptr string verwende, bleibt der Inhalt nil.

    Wie muss ich hier vorgehen?

    • Offizieller Beitrag

    Wie muss ich hier vorgehen?

    Offenbar muss man erstmal die Länge des Titels auslesen und dann einen Buffer in der Größe erstellen:

    • Offizieller Beitrag

    Achso, "FindWindowA" gibt es auch schon in der "winuser"!

    Dann geht auch:

  • Hier noch mal mit GetWindowTextW...


    Evtl. auch interessant: Working with Strings