Функция CreateRemoteThread создает поток, который запускается в виртуальном адресном пространстве другого процесса.
HANDLE CreateRemoteThread(
HANDLE hProcess, // дескриптор процесса
LPSECURITY_ATTRIBUTES lpThreadAttributes, // дескриптор защиты (SD)
SIZE_T dwStackSize, // размер начального стека
LPTHREAD_START_ROUTINE lpStartAddress, // функция потока
LPVOID lpParameter, // аргументы потока
DWORD dwCreationFlags, // параметры создания
LPDWORD lpThreadId // идентификатор потока
);
Установка приоритета:
Поток создается с приоритетом потока THREAD_PRIORITY_NORMAL. Используйте функции GetThreadPriority и SetThreadPriority, чтобы получать и установить приоритетное значение потока.
BOOL SetThreadPriority(
HANDLE hThread, // дескриптор потока
int nPriority // уровень приоритета потока
);
Функция SetThreadPriority дает возможность установки базового уровня приоритета потока относительно класса приоритета его процесса. Например, устанавливая THREAD_PRIORITY_HIGHEST при вызове SetThreadPriority для потока процесса IDLE_PRIORITY_CLASS базовый уровень приоритета потока устанавливается в значение 6.