in reply to Re^2: SetPriorityClass(). An explanation of code please.
in thread SetPriorityClass(). An explanation of code please.

That's what the start command does unless you use the /B switch. However, trying to exec start to drop the priority of the current process isn't going to work either, which is why I suggested a batch file.

If you want to do it from within the script, you can use Win32::API::Prototype to do it this way:

#! perl -slw use strict; use Win32::API::Prototype;; { local $^W = 0; ## Ignore warning from Win32::API::Prototype ApiLink( 'kernel32', 'HANDLE GetCurrentProcess( )' ) or die $^E; ApiLink( 'kernel32', 'HRESULT SetPriorityClass( HANDLE p, DWORD c +)' ) or die $^E; } SetPriorityClass( GetCurrentProcess(), -1 ); print "Check priority for process $$ in the Task Manager"; ## You should see that it has been set to 'LOW' <STDIN>;

Or using Win32::Process like this:

#! perl -slw use strict; use Win32::Process; Win32::Process::Open( my $hProcess, $$, 0 ) or die $^E; $hProcess->SetPriorityClass( THREAD_PRIORITY_IDLE ); undef $hProcess; print "Check priority of process $$ in Task Manager"; <STDIN>;

Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.

Replies are listed 'Best First'.
A reply falls below the community's threshold of quality. You may see it by logging in.