Запуск указанного приложения с приоритетом, видимостью, маской процессоровExecuteProcess.exe - небольшая утилита, которая запускает приложение с указанным приоритетом, видимостью, и под указанными процессорами. Приложен исходный код (компилятор - Delphi 6).
| | Автор статьи: romix | Редакторы: Последняя редакция №5 от 03.07.07 | История URL: http://kb.mista.ru/article.php?id=563 | |
Ключевые слова: приоритет, процессор, запуск, приложение
http://x-romix.narod.ru/ExecuteProcess.rar
(Скачивать ЛЕВОЙ кнопкой мыши, размер ~29К).
Запуск из командной строки
ExecuteProcess.exe <ИмяФайла> <Видимость> <МаскаПроцессоров> <Приоритет>
ИмяФайла
Если имя файла содержит пробелы, то заключите в кавычки.
Видимость
0 - скрыто
1 - нормальный показ
2 - минимизированный
3 - максимизированный
и т.д. (всего значения от 0 до 10).
SW_HIDE = 0;
SW_NORMAL = 1;
SW_SHOWMINIMIZED = 2;
SW_SHOWMAXIMIZED = 3;
SW_MAXIMIZE = 3;
SW_SHOWNOACTIVATE = 4;
SW_SHOW = 5;
SW_MINIMIZE = 6;
SW_SHOWMINNOACTIVE = 7;
SW_SHOWNA = 8;
SW_RESTORE = 9;
SW_SHOWDEFAULT = 10;
SW_MAX = 10;
МаскаПроцессоров
1 - первый процессор
2 - второй процессор
4 - третий процессор
8 - четвертый процессор
... и т.д.
или сумма этих значений.
Например, для запуска на первом и третьем процессоре используйте маску = 1+4=5,
а для запуска на втором и четвертом процессоре используйте маску 2+8=10
Значение 0 - разрешен запуск на всех процессорах.
Приоритет
32 - средний (NORMAL_PRIORITY_CLASS)
64 - низкий (IDLE_PRIORITY_CLASS)
128 - высокий (HIGH_PRIORITY_CLASS)
256 - реального времени (REALTIME_PRIORITY_CLASS)
Тестирование
TestProcess.exe - тестовый процесс, который вы можете использовать для отладки.
Завершать его нужно нажатием на крестик, или в диспетчере задач.
Там же смотрите, какой ему установился приоритет, и на каких процессорах ему разрешено работать.
TestExitCode.exe - возвращает код возврата 25.
Пример запускаExecuteProcess.exe Test\TestProcess.exe 1 3 64
Здесь 1 - видимость (нормальная), 3 - процессоры (1+2), 64 - низкий приоритет. |