The ShellExecute method is nice. It returned value is a hInst. if the file name provided is not appropriate (not existing or not openable) I need to know about that!
Unfortunately on failure, it dos not return null.

How can I know if ShellExecute has failed.