I don't know what the advantage is of using CreateProcess and FindExecutable. I don't think they can do anything relevant that ShellExecuteEx can't do and I think ShellExecuteEx would be easier.