2012-11-05 1 views
2

Objectif: Mon objectif est de définir l'affinité de tous les processus en cours à 1 cœur. Puis lancez un programme avec l'affinité de tous les noyaux.VB.net Process Affinity

Adresse: Mon niveau de compétence en programmation en général est assez débutant. C'est ma première langue.

Besoin: Je voudrais de l'aide pour ce codage et peut-être un article ou une description du code. Merci

Répondre

1

Il existe une solution C# here. En résumé, vous devez parcourir tous les processus (Process.GetProcesses) et définir leur .ProcessorAffinity sur New IntPtr(1), puis démarrer votre nouveau processus. (La valeur par défaut est déjà d'utiliser tous les cœurs, mais pour être complet, si vous voulez que le nouveau processus d'avoir une affinité différente, définie après qu'il a été démarré de la même façon que ci-dessus.)

Tout le code:

Dim procs = Process.GetProcesses 
For Each p In procs 
p.ProcessorAffinity = New IntPtr(1) 
Next 
Dim myProc = Process.Start("notepad.exe") 
' Stop here to answer the OP. 
' This sets the new Notepad process to be the only process running on the second CPU: 
myProc.ProcessorAffinity = New IntPtr(2)