问题
What are SPAWNWND
and NOTIFYWND
parameters in the program path?
回答1:
Those two parameters are used for communication between the elevated and non elevated parts of the setup for ...AsOriginalUser
functionality, exit codes, etc.
You can probably find more details in the Inno source code itself.
Note that these are an implementation detail and you shouldn't rely on them or do anything with the values.
回答2:
spawn()
is a c-function group that executes, child processes, but not through a forking! There is spawnvl()
- vl stands for "variable list" of arguments (like spawnvl(arg1, arg2, arg3,...arg n, NULL);
). spawnl()
I guess executes a program with fixed amount of arguments in a list. There are also spawnvle()
and spawnle()
- these are similar to (int argc, char **argV)
- the e
stands for environment, that means the argv-char
array, and again they exist with variable and fixed amount list args. Linux equivalents are exec -function
group.
I guess these functions (processes invoked) communicate via signals
to their parents
来源:https://stackoverflow.com/questions/10312418/installer-built-by-inno-setup-and-spawnwnd-notifywnd-parameters-on-uac-window