/// /// 检测ocx是否注册/// /// 注册表中的ID/// private bool CheckRegistredOcx(string ClassId){Microsoft.Win32.RegistryKey Regkey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(ClassId);if (Regkey != null){return true;}else{return false;}}//xxx.ocx 插件名称private void OnRegisterPrisonOcx(){try{string str = @"C:\Windows\System32\regsvr32.exe " + System.Windows.Forms.Application.StartupPath + @"\ocx\xxx.ocx";Program.g_LogRecord.GetLogger(str);System.Diagnostics.Process p = new System.Diagnostics.Process();p.StartInfo.FileName = "cmd.exe";p.StartInfo.Arguments = "C:\\Windows\\System32\\cmd.exe";p.StartInfo.UseShellExecute = false; //是否使用操作系统shell启动p.StartInfo.RedirectStandardInput = true;//接受来自调用程序的输入信息p.StartInfo.RedirectStandardOutput = true;//由调用程序获取输出信息p.StartInfo.RedirectStandardError = true;//重定向标准错误输出p.StartInfo.CreateNoWindow = true;//不显示程序窗口p.StartInfo.Verb = "RunAs";//以管理员的身份p.Start();//启动程序//向cmd窗口发送输入信息p.StandardInput.WriteLine(str + "&exit");p.StandardInput.AutoFlush = true;//获取cmd窗口的输出信息string output = p.StandardOutput.ReadToEnd();p.WaitForExit();//等待程序执行完退出进程p.Close();}catch(Exception ex){string szInfo = ex.Message.ToString();}}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!