Moin Willnix,
was die Initialisierung von cb angeht solltest Du Dir noch einmal diesen
Beitrag von CCRDude durchlesen.
Bei Dir wird dort 4 eingetragen, was nun wirklich nicht aussreicht
pc ist ein PChar, also ein Pointer, und die Grösse eines Pointer ist 4.
Ausserdem kannst Du das
LPARAM(@pc[0])
auch so darstellen
LPARAM(pc)
Was mir dann noch aufgefallen ist:
Bevor Du die Rückgabewerte von Funktionen benutzt, solltest Du erst einmal prüfen, ob der Aufruf erfolgreich war.
Dies betrifft die FindWindow(Ex) Aufrufe.
Zudem solltest Du zuerst EM_GETTEXTLENTHEX benutzen, um zu wissen, wie gross Du den Buffer machen musst, damit Du auch alles auslesen kannst.
Wenn das alles nichts hilft, könnte es sein, dass das Control diesen Weg des Auslesens nicht mehr zulässt (siehe meinen Beitrag zum ListView weiter oben).