skuska Temat założony przez niniejszego użytkownika |
C++ WinApi zmiana priorytetu proecsu. » 2016-02-26 12:39:50 Witam, mam problem ze zmianą priorytetu aplikacji. Wiem że służy do tego funkcja SetPriorityClass, ale za bardzo nie wiem jak zrobić, aby został zmieniony priorytet aplikacji której nazwę wpisuje w pole tekstowe. Na razie zrobiłem takie coś. HWND hWnd = FindWindow( "procesy.exe", NULL ); DWORD ThreadID; GetWindowThreadProcessId( hWnd, & ThreadID ); HANDLE ProcessHandle = OpenProcess( PROCESS_ALL_ACCESS, true, ThreadID ); SetPriorityClass( ProcessHandle, HIGH_PRIORITY_CLASS );
Na razie chciałbym aby zmieniło priorytet na wysoki aplikacji o nazwie procesy, jednak po wykonaniu tego kodu priorytet się nie zmienia. |
|
pekfos |
» 2016-02-26 13:18:27 Sprawdzaj błędy. Możesz nie mieć dostępu. |
|
skuska Temat założony przez niniejszego użytkownika |
» 2016-02-26 13:27:05 Błędów nie ma, właśnie zrobiłem żeby zmieniało priorytet, ale nie po nazwie procesu tylko nazwie okna HWND uchwytOkna =::FindWindow( NULL, bufor_na_tekst1 ); if( IsWindow( uchwytOkna ) ) { DWORD identProcesu = 0; GetWindowThreadProcessId( uchwytOkna, & identProcesu ); HANDLE uchwytProcesu = OpenProcess( PROCESS_SET_INFORMATION, FALSE, identProcesu ); if( uchwytProcesu != 0 ) { if( !SetPriorityClass( uchwytProcesu, IDLE_PRIORITY_CLASS ) ) CloseHandle( uchwytProcesu ); } }
Działa to, tylko lepiej by było aby działało po wpisaniu nazwy procesu, a nie nazwy okna. Ma ktoś pomysł jak to ulepszyć? |
|
pekfos |
» 2016-02-26 14:02:09 |
|
skuska Temat założony przez niniejszego użytkownika |
» 2016-02-27 16:12:51 To mam ostatnie pytanie SendMessage( hListBox, LB_ADDSTRING, 0,( LPARAM ) proc32.szExeFile );
Ten SendMessage jest w pętli i wyświetla mi listę procesów. Chciałbym też, aby w moim drugim listbox wyświetlały się też process id (th32ProcessID). Zrobiłem takie coś, program się kompiluje ale od razu się wywala SendMessage( hListBox, LB_ADDSTRING, 0,( LPARAM ) proc32.th32ProcessID );
Podejrzewam, że winnym jest LB_ADDSTRING, ale nie wiem na co mógłbym to zmienić. th32ProcessID jest typu DWORD |
|
Monika90 |
» 2016-02-27 16:54:33 |
|
skuska Temat założony przez niniejszego użytkownika |
» 2016-02-27 17:29:33 char buf[ 256 ]; sprintf( buf, proc32.th32ProcessID ); SendMessage( hListBox, LB_ADDSTRING, 0,( LPARAM ) buf );
Wyskakuje takie coś [Error] invalid conversion from 'DWORD {aka long unsigned int}' to 'const char*' [-fpermissive] Kombinowałem ze zmienną buf, ale nic nie to nie dało. |
|
jankowalski25 |
» 2016-02-27 17:34:21 |
|
« 1 » 2 |