我们有一个应用程序使用 Windows 7 性能计数器来跟踪总 CPU 使用率。每隔一段时间,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009 的注册表就会损坏并且只是空的。
手动按照此处找到的步骤http://support.microsoft.com/kb/300956可以完美运行。但是当我制作一个 C# 程序以编程方式替换提到的 2 个文件时,没有错误、异常等。但是这些文件没有保存到正确的目录中。
这是我一直用来测试的:
static void Main(string[] args)
{
string fileToReadPath1 = @"perfc009.dat";
string fileToReadPath2 = @"perfh009.dat";
FileInfo fileToRead1 = new FileInfo(fileToReadPath1);
FileInfo fileToRead2 = new FileInfo(fileToReadPath2);
FileInfo fileToReplaceInfo1 = new FileInfo(@"C:\Windows\System32\perfc009.dat");
FileInfo fileToReplaceInfo2 = new FileInfo(@"C:\Windows\System32\perfh009.dat");
File.Copy(fileToRead1.FullName, fileToReplaceInfo1.FullName, true);
File.Copy(fileToRead2.FullName, fileToReplaceInfo2.FullName, true);
}
我确实确保以管理权限运行它。
任何人都知道为什么程序似乎运行良好,但没有将文件复制到该目录?是否有一些 Windows 安全措施阻止了这一点?