Click here to Skip to main content
12,358,497 members (60,016 online)
Rate this:
 
Please Sign up or sign in to vote.
See more: C++
I am trying to set the priority of all instances of an application such as Excel.exe to below normal. When I do this with wscript, it's very slow. I can do it for an open excel by running
SetPriorityClass(GetCurrentProcess(), BELOW_NORMAL_PRIORITY_CLASS );

How can I generalize it below?

char * pProcessName="Excel.exe";
if (hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)) == INVALID_HANDLE_VALUE)
     ;
else {
    proc32.dwSize=sizeof(PROCESSENTRY32);
    while((Process32Next(hSnap, &proc32)) == TRUE) {
        if(_stricmp(proc32.szExeFile, pProcessName) == 0) {
            HANDLE h=OpenProcess(PROCESS_ALL_ACCESS, TRUE, proc32.th32ProcessID); //this line is incorrect I think
            SetPriorityClass(h, BELOW_NORMAL_PRIORITY_CLASS );
            CloseHandle(h);
        }
    }
    CloseHandle(hSnap);
}
Posted 9-Sep-10 20:49pm
T21024.3K

1 solution

Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 1

You could try to use PROCESS_SET_INFORMATION as the first parameter... Smile | :)
  Permalink  
Comments
Ted2102 10-Sep-10 5:02am
   
Thanks, that solved my problem

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month


Advertise | Privacy | Mobile
Web01 | 2.8.160621.1 | Last Updated 10 Sep 2010
Copyright © CodeProject, 1999-2016
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100