Szukałem na google i tutaj ale nic nie znalazłem na temat jak programowo zmienić priorytet procesu dowolnej aplikacji. Jeśli by ktoś wiedział to proszę o odpowiedź. Najlepiej jakby to było na Buildera.
- Rejestracja:ponad 20 lat
- Ostatnio:ponad 19 lat
a ja lookanlem na google i na poczatku znalazlem (po polsku...)
http://zeus.polsl.gliwice.pl/~arturpas/index.htm
tam gosc pod Delphi podaje przyklad tyle ze korzysta z <ort>bieżącego</ort> procesu - funkcja getcurrentprocess()
Jezeli to ma byc dowolny tzn. ze musisz chyba uzyskac uchwyt...
Ale tam jest uchwyt do okna aplikacji a nie do procesu, jeśli aplikacja nie ma swojego okna np: aplikacja uruchamiana pod Dosem. U mnie właśnie tak jest że uruchamiam pewną aplikację Dosową która uruchamia inny program przekazując mu pewne dane pobrane z internetu. Ten drugi program nie ma swojego okna. Jest procesem i nie wiem jak uzyskać do niego uchwyt.
- Rejestracja:około 21 lat
- Ostatnio:ponad 9 lat
- Postów:513
uruchom ten child-proces poprzez
STARTUPINFO si
PROCESS_INFORMATION pi
si.cb = sizeof(si)
CreateProcess(NULL, "c:\\prog.exe /o parametry", NULL, NULL, True, 0, NULL, NULL, &si, &pi)
SetPriorityClass(pi.hProcess, REALTIME_PRIORITY_CLASS)
SetThreadPriority(pi.hThread, THREAD_PRIORITY_TIME_CRITICAL)
//uwaga! nawet myszka może nie działać :)
CloseHandle( pi.hProcess )
CloseHandle( pi.hThread )
//albo odrazu
CreateProcess(NULL, "c:\\prog.exe /o parametry", NULL, NULL, True, _
IDLE_PRIORITY_CLASS, NULL, NULL, &si, &pi)
note: u mnie STARTUPINFO si automatycznie rezerwuje pamięć w .bss albo na stosie
jeśli masz spacje w pathu do pliku to obejmij execa w cudzysłów
CreateProcess(NULL, ""c:\\program files\\1.exe" /o parametry"
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.