Managed to solve it using another function of the Pywin module - win32ui
It works as above in the question but then has this:
import win32ui
def WindowExists(windowname):
try:
win32ui.FindWindow(None, windowname)
except win32ui.error:
return False
else:
return True
process = True
while process == True:
if WindowExists(r"C:\LTR_STRUC\LTR_STRUC_1_1.exe"):
process = True
else:
process = False
time.sleep(5)
Essentially, this tests for the presence of the executable window/process. Whilst the window exists you know the program is still going, so the rest of the script doesn't continue.
Hope this is useful to someone else at some point!