SetAffinity

Распределяет нагрузку между логическими ядрами для процесса, создавшего целевое окно.


Синтаксис

<SetAffinity процессор [процессор [процессор...]]>

или

<SetAffinity All>


Параметры

Процессор - число от 0 до 31, определяющее логический процессор (ядро). Необходимо указать не менее одного такого параметра.

Параметр All означает, что будут выбраны все логические процессоры, доступные в системе.


Примечания

Команда SetAffinity делает то же самое, что и функция "Соответствие процессоров" в диспетчере задач Windows (Ctrl+Alt+Delete > Запустить диспетчер задач > Вкладка "Процессы" > ПКМ по нужному процессу > Задать соответствие):


Перед вызовом этой команды необходимо взять окно в цель при помощи SendWin, SendWinMF, TargetWin, TargetChild и т. д. Эта команда влияет на процесс, который создал выбранное таким способом окно.

Нумерация логических процессоров начинается с нуля. Это означает, что, например, номер четвёртого логического процессора будет равен 3.

Команда SetAffinity вызывает функцию операционной системы "SetProcessAffinityMask".

Ограничение в 32 процессора встроено в Windows, но не в HotkeyNet.


Примеры

Следующая горячая клавиша присваивает обработку процесса на локальном компьютере первому логическому ядру, номер которого равен 0:

<Hotkey F1>
<SendPC local>
<TargetWin "Dark Age of Camelot">
<SetAffinity 0>


Эта горячая клавиша присваивает обработку процесса на удалённом компьютере второму и четвёртому логическим ядрам, номера которых равны 1 и 3:

<Hotkey F9>
<SendPC 192.168.1.104>
<TargetWin MyWindow>
<SetAffinity 1 3>


А эта горячая клавиша позволяет процессу задействовать ресурсы всех логических ядер:

<Hotkey F9>
<SendPC 192.168.1.104>
<TargetWin MyWindow>
<SetAffinity All>