普通注册

string path = System.AppDomain.CurrentDomain.BaseDirectory ;

System.Diagnostics.Process p = System.Diagnostics.Process.Start("regsvr32", path + "DicomObjects.ocx");

管理员注册

private bool RegisterDll(String dllPath)

{

bool result = true;

try

{

if (!File.Exists(dllPath))

{

//Loger.Write(string.Format("“{0}”目录下无“XXX.dll”文件!", AppDomain.CurrentDomain.BaseDirectory));

return false;

}

//拼接命令参数

string startArgs = string.Format("/s \"{0}\"", dllPath);

Process p = new Process();//创建一个新进程,以执行注册动作

p.StartInfo.FileName = "regsvr32";

p.StartInfo.Arguments = startArgs;

//以管理员权限注册dll文件

WindowsIdentity winIdentity = WindowsIdentity.GetCurrent(); //引用命名空间 System.Security.Principal

WindowsPrincipal winPrincipal = new WindowsPrincipal(winIdentity);

if (!winPrincipal.IsInRole(WindowsBuiltInRole.Administrator))

{

p.StartInfo.Verb = "runas";//管理员权限运行

}

p.Start();

p.WaitForExit();

p.Close();

p.Dispose();

}

catch (Exception ex)

{

result = false;         //记录日志,抛出异常

}

return result;

}

C# 注册dll的两种方式相关推荐

  1. android注册广播两种方式,Android 注册广播的两种方式对比

    Android 注册广播的两种方式对比 1.常驻型广播 常驻型广播,当你的应用程序关闭了,如果有广播信息来,你写的广播接收器同样的能接受到, 他的注册方式就是在你的应用程序中的AndroidManif ...

  2. 注册事件的两种方式(传统注册事件、方法监听注册事件)

    注册事件的两种方式 <!DOCTYPE html> <html lang="en"><head><meta charset="U ...

  3. android两种广播注册区别,Android 注册广播的两种方式对比

    Android 注册广播的两种方式对比 1.常驻型广播 常驻型广播,当你的应用程序关闭了,如果有广播信息来,你写的广播接收器同样的能接受到, 他的注册方式就是在你的应用程序中的AndroidManif ...

  4. Windows注册服务的两种方式,并设置服务开机自启

    目录 第一种方式: 下载instsrv.exe和srvany.exe 用管理员身份运行"命令提示符"工具 用"注册表编辑器"将服务替换为自己需要的功能 修改完注 ...

  5. java读写注册表的两种方式,Preferences与jRegistry

    打开注册表方式:电脑上的windows键加r键打开运行程序->输入指令regedit->随即系统便会提示你是否要运行,选择"是"就行了 由于java程序是"w ...

  6. 动态链接库dll的两种加载方式

    在第一篇技术博客"动态链接库简介"中说到了两种加载方式,当时没有详细说明,这里详细说明一下 可以通过两种方式 1.隐式链接(需要.dll,.lib,.h) 2.显式链接(需要.dl ...

  7. DLL中导出函数的声明有两种方式

    本文引用自:VC编程时DLL中导出函数的声明有两种方式 一种方式是:在函数声明中加上__declspec(dllexport): 另外一种方式是:采用模块定义(.def)文件声明,(.def)文件为链 ...

  8. 数据库注册两种方式的比较

    在学习JDBC的时候,通常有两种方式去注册数据库驱动程序(这里采用MySQL数据库),分别为: DriverManager.registerDriver(new Driver()); Class.fo ...

  9. java手动注册filter,SpringBoot注册Filter的两种实现方式

    springboot版本:2.2.5 一.filter注册 springboot中添加filter有两种方式: 1.实现方法一 2.实现方法二 二.Springboot自带filter Springb ...

  10. 判断dll的.netframwork的版本的两种方式

    1.使用ILSpy将dll打开,如下图可以看到.NETFramework的版本: 2.使用反射,代码如下: var tar = (TargetFrameworkAttribute)Assembly.L ...

最新文章

  1. Go 学习笔记(26)— Go 习惯用法(多值赋值,短变量声明和赋值,简写模式、多值返回函数、comma,ok 表达式、传值规则)
  2. python招聘笔试题_滴滴2020年春招笔试题分析(Python)
  3. 如何高性能添加UIView阴影
  4. web login do.php,dologin.php
  5. jsoncpp的读写操作
  6. HDU ACM Steps攻略 ACM Steps的全部内容
  7. 你用的那些开源项目可能已经被放弃维护!
  8. GARFIELD@12-09-2004
  9. 微信支付将推双面屏;库克谈收购英特尔基带业务;Chrome 76 稳定版发布 | 极客头条...
  10. Malthus模型预测人口增长
  11. 医院信息管理系统需求分析
  12. 4.2V锂电池充电、放电保护电路分享
  13. LoadRunner教程(29)-LoadRunner监控Tomcat
  14. 康佳电视软件测试工程师,康佳电视怎么样之康佳55吋曲面人工智能电视试用测评...
  15. 计算机控制的仓库定位系统,(边江文档教材)智能立体仓库物品定位的plc自动控制系统.doc...
  16. 该内存不能为read或written的解决方案
  17. JVM(2):垃圾收集器与gc
  18. mysql编译安装指定端口_在CentOS7系统上编译安装MySQL 5.7.13步骤详解
  19. POJ3107Godfather找重心
  20. 分析葡萄酒化学成分及Logistic回归预测葡萄酒口感

热门文章

  1. JRTPLIB使用中碰到的问题
  2. Android Studio 统计代码行数插件 — Statistic 申请软著写源程序量
  3. 费曼:“只要我不能创造的,我就还不理解”
  4. 数学系教材推荐(转载)
  5. java安装后打开jar文件_java环境变量配置好后双击jar文件无法运行的解决办法
  6. CompoundButton调用setChecked多次触发onCheckedChanged
  7. 刚知道,qq聊天的时候可以这么装逼
  8. thinkpadt410接口介绍_ThinkPadT410全程拆解
  9. 汉字字符集编码查询 unicode编码查询
  10. 死亡之ping (ping of death)