当前位置:编程学习 > C#/ASP.NET >>

做COM+时用到的一些方法

//获取CPU的序列号
        private string GetCpuID()
        {
            try
            {
                //获取CPU序列号代码
                string cpuInfo = "";//cpu序列号
                ManagementClass mc = new ManagementClass("Win32_Processor");
                ManagementObjectCollection moc = mc.GetInstances();
                foreach (ManagementObject mo in moc)
                {
                    cpuInfo = mo.Properties["ProcessorId"].Value.ToString();
                }
                moc = null;
                mc = null;
                return cpuInfo;
            }
            catch
            {
                return "unknow";
            }
            finally
            {
            }
        }
//检索所有正在运行的COM+组件,和它们的应用程序ID
public void GetCOMPlusApplicationsList()
  {
   COMSVCSLib.MtsGrp GrpObj = null;
   Type dcomType = Type.GetTypeFromProgID("mts.MtsGrp");
   Object dcomObj = Activator.CreateInstance( dcomType );
   GrpObj = (COMSVCSLib.MtsGrp) dcomObj;
   object obj = null;
   COMSVCSLib.COMEvents eventObj = null;
   
   for (int i = 0 ;i < GrpObj.Count ; ++i)
   {
    GrpObj.Item (i, out obj);
    eventObj = (COMSVCSLib.COMEvents) obj;
    
    AddtoListView(eventObj.GetProcessID(),eventObj.PackageName);
    Marshal.ReleaseComObject(obj);
    obj = null;
    Marshal.ReleaseComObject(eventObj);
    eventObj = null;
   }
   Marshal.ReleaseComObject( dcomObj );
   dcomObj = null;
   return;
  }


/**/
        /// <summary>
        /// 性能计数器,用于获取CPU空闲百分比
        /// </summary>
        private static PerformanceCounter mIdle = new PerformanceCounter("Processor", "% Processor Time", "Idle");
        private Label label1;
        /**/
        /// <summary>
        /// 性能计数器,用于获取CPU总利用率
        /// </summary>
        private static PerformanceCounter mTotal = new PerformanceCounter("Processor", "% Processor Time", "_Total");
 string  nVal = mTotal.NextValue().ToString();
 //PerformanceCounter cpuCounter;
            //PerformanceCounter ramCounter;

            //cpuCounter = new PerformanceCounter();

            //cpuCounter.CategoryName = "Processor";
            //cpuCounter.CounterName = "% Processor Time";
            //cpuCounter.InstanceName = "_Total";
            //ramCounter = new PerformanceCounter("Memory", "Available MBytes");


//当前程序的路径
System.AppDomain.CurrentDomain.BaseDirectory.ToString();


//保存文件

SaveFileDialog sf = new SaveFileDialog();
            //设置文件保存类型
            sf.Filter = "txt文件|*.txt|所有文件|*.*";
            //如果用户没有输入扩展名,自动追加后缀
            sf.AddExtension = true;
            //设置标题
            sf.Title = "写文件";
            //如果用户点击了保存按钮
            if (sf.ShowDialog() == DialogResult.OK)
            {
                this.txtFilePath.Text = sf.FileName;
            }
System.IO.StreamWriter f2 = new System.IO.StreamWriter(path, true, System.Text.Encoding.UTF8);
                f2.WriteLine(txtStrings);

    
补充:软件开发 , C# ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,