1

我需要启动 IE 并将关联设置为特定的单个 CPU。运行以下 c# 代码时,正如预期的那样,notepad.exe 已启动并且其关联设置为仅 cpu2,奇怪的是 iexplore.exe 启动时其关联设置为仅 cpu0。无论我将 ProcessorAffinity 设置为什么,iexplore.exe 总是转到 cpu0。

我已经在 4 核 xp 32 位和 4 核 2008 64 位 IE8 上对此进行了测试。

using System;
using System.Diagnostics;
public class Launch
{

    public static void Main(string[] args)
    {
        lauchWithAffinity("c:/windows/system32/notepad.exe");
        lauchWithAffinity("c:/Program Files/Internet Explorer/IEXPLORE.EXE");
    }
    static void lauchWithAffinity(string exePath)
    {
        ProcessStartInfo start = new ProcessStartInfo();
        start.FileName = exePath;
        Process myProcess =Process.Start(start);
        myProcess.ProcessorAffinity = (System.IntPtr)4; //3rd cpu aka cpu2 
        //http://msdn.microsoft.com/en-us/library/system.diagnostics.process.processoraffinity.aspx
    }

}
4

1 回答 1

0

我已经测试了你的程序,它对我来说很好。我什至检查了任务管理器,并且将其关联iexplore.exe设置为 CPU 2。

于 2012-05-10T08:44:01.077 回答