Não há como fazer o que você está tentando fazer no Windows. O Windows permitirá automaticamente que os programas com altas taxas de falhas de página usem mais RAM e encolherão outros, se a RAM for escassa.
É possível que exista um programa utilitário que possa monitorar a RAM atribuída a vários processos e tentar dissuadir alguns deles de serem paginados, usando, por exemplo, as APIs VirtualLock e SetProcessWorkingSetSize nelas.
No entanto, existem limitações suficientes com isso que não faria muito se algum bem. Um dos principais é que o VirtualLock é feito por intervalo de endereços e tal programa não teria como "saber" quais intervalos de endereços no processo de destino eram importantes para serem bloqueados. (Você não pode simplesmente bloquear tudo; não há espaço.) Essas APIs são principalmente destinadas a serem usadas por um processo em si, ou entre um conjunto de processos cooperativos (e co-conhecedores), não para ajustar outros processos aleatórios. .
(n.b .: O VirtualLock pode ser feito através do processo cruzado, chamando-o de um encadeamento criado no processo de destino via CreateRemoteThread.)