I updated the program Arrived to version 1.1. There is one important change in this version that breaks compatibility, but I am convinced there are rather few users anyway 😉
The change is to use CreateProcess()
instead of ShellExecute()
. That’s perhaps geek gibberish to many of you, so I’ll explain. Both are Win32 functions that can be used to execute a command. However, ShellExecute()
has a slight advantage under some circumstances: it uses the information from the registry to determine which program to execute. Thus you were able to execute even documents if some program was associated with it. In turn CreateProcess()
allows much more fine-grained information in case of errors, thus the change.
If you execute scripts, you’ll have to change that now from:
arrived myscript.cmd
into:
arrived "cmd.exe /c myscript.cmd"
or alternately:
arrived "%COMSPEC% /c myscript.cmd"
(Note the double-quotes around the command!)
Okay, but there is another change. I introduced a command line switch to restrict the execution of the command to particular drive types only (removable, fixed, etc). Execute the application without any parameters to see a brief help.
// Oliver
Download: here
PS: The source code can also be retrieved from Bitbucket.