How do I create a single event handler that executes on terminate of a delphi application? Regardless of how the application ends, I need a cleanup procedure to run, especially if my program ends abnormally. For performance purposes, my program ditches the windows wallpaper, remembers where the desktop icons are, and changes screen resolution to an optimum size for my program. When my program finishes normally these are all seamlessly returned to normal, however when I end by some other means, such as the task manager or a hard shutdown, I am not able to restore these settings back to normal. Is there any way I can accomplish this by simulating and application.OnTerminate event?
If so what windows message would I use for it? I've tried many to no avail.