dsoframer控件注册,解注册和检查注册情况
Posted yaosj
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dsoframer控件注册,解注册和检查注册情况相关的知识,希望对你有一定的参考价值。
public class DsoframerHelper { private static string dsoframerPath = System.Windows.Forms.Application.StartupPath + @"/Plugins/dsoframer.ocx"; /// <summary> /// 判断ocx控件是否注册的 /// </summary> /// <param name="clsid"></param> /// <returns></returns> private static bool IsRegistered(string clsid) { String key = String.Format(@"CLSID\{{{0}}}", clsid); Microsoft.Win32.RegistryKey Regkey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(key); if (Regkey != null) return true; else return false; } /// <summary> /// 执行cmd.exe /// </summary> /// <param name="cmdExe"></param> /// <param name="cmdPara"></param> private static void Cmd(string cmdExe, string cmdPara) { using (System.Diagnostics.Process myPro = new System.Diagnostics.Process()) { myPro.StartInfo.FileName = "cmd.exe"; myPro.StartInfo.UseShellExecute = false; //是否使用操作系统shell启动 myPro.StartInfo.RedirectStandardInput = true;//接受来自调用程序的输入信息 myPro.StartInfo.RedirectStandardOutput = true;//由调用程序获取输出信息 myPro.StartInfo.RedirectStandardError = true;//重定向标准错误输出 myPro.StartInfo.CreateNoWindow = true;//不显示程序窗口 myPro.Start(); string strCmd = $@"{cmdExe} {cmdPara} &exit"; //这里使用 & 是批处理命令的符号,表示前面一个命令不管是否执行成功都执行后面(exit)命令 myPro.StandardInput.WriteLine(strCmd); myPro.StandardInput.AutoFlush = true; myPro.WaitForExit();//等待程序执行完退出进程 } } /// <summary> /// 判断dsoframer是否注册 /// </summary> /// <returns></returns> public static bool IsRegisteredDsoframer() { return IsRegistered("00460182-9E5E-11d5-B7C8-B8269041DD57"); } /// <summary> /// 注册dsoframer /// </summary> public static void RegisteredDsoframer() { Cmd("regsvr32.exe", dsoframerPath); } /// <summary> /// 解注册dsoframer /// </summary> public static void UnRegisteredDsoframer() { Cmd("regsvr32.exe", $@" -u {dsoframerPath}"); }
dsoframer.ocx(32位)下载地址:https://pan.baidu.com/s/16Jd60vgU09KYxzOlZsti-A 提取码:7xgh
以上是关于dsoframer控件注册,解注册和检查注册情况的主要内容,如果未能解决你的问题,请参考以下文章
我的Android进阶之旅解决Android8.0发送自定义广播接收不到的问题:PackageManager扫描静态注册广播接收器拿到ResolveInfo,指定包名和完整路径,然后发送自定义广播(代