pythonexitmessage-pumppythoncom

Ending a Program Mid-Run


pythoncom.PumpMessages()

From what I understand this line basically tells the program to wait forever. For my purposes it seems to be working. However, I'd like to be able to end the program given the right stimulus. How would one go about ending the above line, or stopping the program from running any further.


Solution

  • According to these docs, pythoncom.PumpMessages():

    Pumps all messages for the current thread until a WM_QUIT message.

    So one way to stop collecting messages is by posting a WM_QUIT message to the message queue by using the ctypes library to call PostQuitMessage:

    ctypes.windll.user32.PostQuitMessage(0)