A file that does not exist cannot be ether executable or non-executable. The executability of a file (or otherwise) is stored within its metadata, be that a filename, permission bits, attributes or whatever. A file that does not exist has none of those, and hence you cannot check for its executability.
You'll notice that the SHGetFileInfo
function to which you refer is document thus:
Retrieves information about an object in the file system, such as a file, folder, directory, or drive root.
Note the bit about it retrieving information about an object in the file system (not 'an object not in the file system).