c#中怎么用程序实现regsvr32的功能?

解决方案 »

  1.   

    有没有API  而不用去调cmd.exe的方法呢?
      

  2.   

    COM+的话有COM+ Administration API可以用(COMAdmin组件),对应于regsvcs
    普通的COM似乎没有
      

  3.   

    呵呵,自己解决了,其实调用regsvr32就行了,只要达到功能就行
    如下
    System.Diagnostics.Process p = System.Diagnostics.Process.Start("regsvr32.exe","-s " + ocxPath);//返回某一进程对象
    MessageBox.Show(p.StartInfo.FileName);//输出p进程的文件名
    p.WaitForInputIdle();//等待执行注册命令完毕
    p.Kill();//关闭进程但是有一个新问题,怎样得到p进程的全路径呢,p.StartInfo.Directory调试出来为null。如果.net不行的话,用api能得到某一进程的目录吗
      

  4.   

    自己又搞定了,用这个就能得到全路径了p.MainModule.FileName,p为上一程序的p,下班前给分。