sub system_detached {
my $program;
my @args ;
my $cmdline;
if( @_ > 1 ){
( $program ) = @_;
$cmdline = Win32::ShellQuote::quote_system_string( @_ );
} else {
( $cmdline ) = @_;
}
$!=$^E=0;
my $ProcessObj;
## http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=
+vs.85).aspx# CreateProcess function (Windows)
## http://msdn.microsoft.com/en-us/library/windows/desktop/ms684863(v=
+vs.85).aspx# Process Creation Flags (Windows)
use Win32::ShellQuote();
use Win32::Process();
Win32::Process::Create(
$ProcessObj,
$program,
$cmdline,
0, # don't inherit handles
Win32::Process::DETACHED_PROCESS(),
".", #cwd
) or do {
my $err = int($!).' '.$!." #### ".int($^E)." $^E ";
warn "??CreateProcess failed (\$ProcessObj $ProcessObj) $err "
+;
return;
};
return $ProcessObj;
}
|