Bei CreateProcess macht es einen Unterschied, ob man die
Ansi- oder
Unicode-Variante aufruft.
Zitat:
lpCommandLine [in, out, optional]
The command line to be executed. The maximum length of this string is 32,768 characters, including the
Unicode terminating null character. If lpApplicationName is NULL, the module name portion of lpCommandLine is limited to MAX_PATH characters.
The Unicode version of this function, CreateProcessW, can modify the contents of this string. Therefore, this parameter cannot be a pointer to read-only memory (such as a const variable or a literal string). If this parameter is a constant string, the function may cause an access violation.
Bei ShellExecuteEx habe ich zumindest im
MSDN keinen derartigen Hinweis entdecken können.