On Sunday, 29 June 2014 at 07:51:50 UTC, Jacob Carlborg wrote:

You don't need to use WinMain. You can use a plain D main function and add the "-L/SUBSYSTEM:WINDOWS:4.0" link flag to suppress the console. There are API's to get access to the arguments passed to WinMain, if necessary.

OK so I just tried this and found some amazing things. By using main instead of WinMain the std runtime is automatically loaded, and uncaught exceptions are not swallowed up like in WinMain, so you don't need the try-catch anymore! This makes life much better. The only question I have is what happens when you use SUBSYSTEM:WINDOWS:4.0 (Which I understand means XP or higher) and the program runs on something older? Will you get an error message or just silent failure?

Reply via email to