Я пытаюсь контролировать информацию о производительности для openoffice, используя класс счетчика производительности в C#. Я столкнулся с какой-то странной проблемой: хотя моя программа может контролировать информацию о других приложениях просто отлично, она не может правильно отслеживать данные о производительности офиса, используя ту же процедуру. По сути, я создаю процесс и имею счетчик производительности, чтобы получить время процессора от этого процесса, используя его имя файла. OpenOffice, я заметил, имеет два процесса под управлением задачи; один из них - soffice.bin, а один - файл soffice.exe. Файл bin занимает больше памяти, чем exe-файл, поэтому я попытался контролировать это после того, как exe-файл не дал мне никаких полезных данных о производительности (Performance conter продолжал возвращать значение 0). Однако файл bin имеет такую же проблему - я не могу получить какие-либо пригодные для использования данные производительности, независимо от того, что я делаю с приложением.Как я могу получить информацию об эффективности из OpenOffice в C#?
Может ли кто-нибудь сказать мне, почему у меня нет хороших показаний для работы openoffice? Я использую неправильное имя процесса, или это что-то более тонкое?
// create a process
p = new Process();
p.StartInfo.UseShellExecute = true;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.FileName = fileName;
p.Start();
// for open office, I found that the BIN file takes up more memory in the task manager
String name = "C:\\Program Files (x86)\\OpenOffice.org 3\\program\\soffice.bin";
// So I make a performance counter to monitor that.
pc = new System.Diagnostics.PerformanceCounter("Process",
"% Processor Time",
name,
true);
Эй! Это сработало! Спасибо! – Waffles