Rückgabe von ControlCommand per DLL-Struct auslesen

  • Ich möchte für ein kleines Hilfstool direkt mit dem Scintilla-Control in Notepad++ komunizieren. Mit allen Commands, die Werte per Return zurückgeben, funktioniert das auch. Das sind allerdings nur Integer-Werte, für Strings muß eine DLL-Struct übergeben werden und die bleibt leer. Ich vermute, daß das mit den getrennten Speicherbereichen von Prozessen zu tun hat, daß Scintilla also nicht in die von meinem Script bereitgestellte Struct schreiben kann. Gibt es dafür eine Lösung, oder ist das "by design" so gewollt, daß das nicht geht?

    Könnten da vielleicht WM_COPYDATA oder das NomadMemory-UDF mir da weiterhelfen?

    Beispielcode:

    Einmal editiert, zuletzt von fakeraol (9. Mai 2015 um 19:34)

  • WinGetHandle("DirectorExtension") gibt @error = 1 zurück. Notepad++ hat keine DirectorExtension, die gehört zur SciTE.exe, nicht zum Scintilla-Control (dll).
    Kann man denn mit WM_COPYDATA auch das Ergebnis des DLL-Calls an das AutoIt-Script umleiten, wenn Scintilla es normalerweise in den per Pointer übergebenen Buffer schreiben würde?