mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
os: add create_no_window parameter to Process (#17726)
This commit is contained in:
parent
e1d4539a14
commit
54a1b66b94
@ -25,14 +25,15 @@ pub mut:
|
|||||||
// the exit code of the process, != -1 *only* when status is .exited *and* the process was not aborted
|
// the exit code of the process, != -1 *only* when status is .exited *and* the process was not aborted
|
||||||
status ProcessState = .not_started
|
status ProcessState = .not_started
|
||||||
// the current status of the process
|
// the current status of the process
|
||||||
err string // if the process fails, contains the reason why
|
err string // if the process fails, contains the reason why
|
||||||
args []string // the arguments that the command takes
|
args []string // the arguments that the command takes
|
||||||
env_is_custom bool // true, when the environment was customized with .set_environment
|
env_is_custom bool // true, when the environment was customized with .set_environment
|
||||||
env []string // the environment with which the process was started (list of 'var=val')
|
env []string // the environment with which the process was started (list of 'var=val')
|
||||||
use_stdio_ctl bool // when true, then you can use p.stdin_write(), p.stdout_slurp() and p.stderr_slurp()
|
use_stdio_ctl bool // when true, then you can use p.stdin_write(), p.stdout_slurp() and p.stderr_slurp()
|
||||||
use_pgroup bool // when true, the process will create a new process group, enabling .signal_pgkill()
|
use_pgroup bool // when true, the process will create a new process group, enabling .signal_pgkill()
|
||||||
stdio_fd [3]int // the stdio file descriptors for the child process, used only by the nix implementation
|
stdio_fd [3]int // the stdio file descriptors for the child process, used only by the nix implementation
|
||||||
wdata voidptr // the WProcess; used only by the windows implementation
|
wdata voidptr // the WProcess; used only by the windows implementation
|
||||||
|
create_no_window bool // sets a value indicating whether to start the process in a new window, The default is false; used only by the windows implementation
|
||||||
}
|
}
|
||||||
|
|
||||||
// new_process - create a new process descriptor
|
// new_process - create a new process descriptor
|
||||||
|
@ -97,7 +97,11 @@ fn (mut p Process) win_spawn_process() int {
|
|||||||
cmd := '${p.filename} ' + p.args.join(' ')
|
cmd := '${p.filename} ' + p.args.join(' ')
|
||||||
C.ExpandEnvironmentStringsW(cmd.to_wide(), voidptr(&wdata.command_line[0]), 32768)
|
C.ExpandEnvironmentStringsW(cmd.to_wide(), voidptr(&wdata.command_line[0]), 32768)
|
||||||
|
|
||||||
mut creation_flags := int(C.NORMAL_PRIORITY_CLASS)
|
mut creation_flags := if p.create_no_window {
|
||||||
|
int(C.CREATE_NO_WINDOW)
|
||||||
|
} else {
|
||||||
|
int(C.NORMAL_PRIORITY_CLASS)
|
||||||
|
}
|
||||||
if p.use_pgroup {
|
if p.use_pgroup {
|
||||||
creation_flags |= C.CREATE_NEW_PROCESS_GROUP
|
creation_flags |= C.CREATE_NEW_PROCESS_GROUP
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user