uj, was machst du denn hier?
Code:
letzteBackslashPos = (int)(pLetzteBackslashPos - programPfad + 1);
programPfad ist doch ein Array und plötzlich rechnest du damit?
Zudem solltest du die Rückgabe von GetModuleFileNameA auswerten.
Dann vom letzten zeischen rückwärts bis auf 0 oder den ersten Backslash gehen