PDA

View Full Version : سوال: TotalProcessorTime - Access Denied



ali1564
پنج شنبه 27 اسفند 1388, 06:42 صبح
سلام به همه دوستان
می خواستم بدونم راهی هست که تو کد زیر ارور Access Denied رو نگیرم و بتونم processor time رو ببینم یا نه ؟ ممنون


private DataTable loadData()
{
try
{
DataTable dt = new DataTable("MyDataTable");
dt.Columns.Add(new DataColumn("ID"));
dt.Columns.Add(new DataColumn("Name"));
dt.Columns.Add(new DataColumn("NoThreads"));
dt.Columns.Add(new DataColumn("Priority"));
//dt.Columns.Add(new DataColumn("TotalTime")); //Access Denied!!
//dt.Columns.Add(new DataColumn("UserTime")); //Access Denied!!

DataRow dr;

Process[] allProcess = Process.GetProcesses();
int noThread;

foreach (Process proc in allProcess)
{
noThread = 0;
ProcessThreadCollection myThreads = proc.Threads;
proc.Refresh();
foreach (ProcessThread pt in myThreads)
{
dr = dt.NewRow();
dr["ID"] = pt.Id.ToString();
dr["Name"] = proc.ProcessName.ToString();
dr["Priority"] = pt.BasePriority.ToString();
//dr["TotalTime"] = TotalProcessorTime.ToString(); //Access Denied!!
//dr["UserTime"] = pt.UserProcessorTime.ToString(); //Access Denied!!
dt.Rows.Add(dr);
noThread++;
}
dr = dt.NewRow();

dr["NoThreads"] = noThread.ToString(); //number of Threads
dt.Rows.Add(dr);
}

return dt;
}
catch (Exception ex) {
MessageBox.Show(ex.Message, "Run Time Error");
return null;
}
}

Omid.Mafakher
پنج شنبه 27 اسفند 1388, 15:17 عصر
-------------------------------------