C# 注册dll的两种方式
普通注册
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的两种方式相关推荐
- android注册广播两种方式,Android 注册广播的两种方式对比
Android 注册广播的两种方式对比 1.常驻型广播 常驻型广播,当你的应用程序关闭了,如果有广播信息来,你写的广播接收器同样的能接受到, 他的注册方式就是在你的应用程序中的AndroidManif ...
- 注册事件的两种方式(传统注册事件、方法监听注册事件)
注册事件的两种方式 <!DOCTYPE html> <html lang="en"><head><meta charset="U ...
- android两种广播注册区别,Android 注册广播的两种方式对比
Android 注册广播的两种方式对比 1.常驻型广播 常驻型广播,当你的应用程序关闭了,如果有广播信息来,你写的广播接收器同样的能接受到, 他的注册方式就是在你的应用程序中的AndroidManif ...
- Windows注册服务的两种方式,并设置服务开机自启
目录 第一种方式: 下载instsrv.exe和srvany.exe 用管理员身份运行"命令提示符"工具 用"注册表编辑器"将服务替换为自己需要的功能 修改完注 ...
- java读写注册表的两种方式,Preferences与jRegistry
打开注册表方式:电脑上的windows键加r键打开运行程序->输入指令regedit->随即系统便会提示你是否要运行,选择"是"就行了 由于java程序是"w ...
- 动态链接库dll的两种加载方式
在第一篇技术博客"动态链接库简介"中说到了两种加载方式,当时没有详细说明,这里详细说明一下 可以通过两种方式 1.隐式链接(需要.dll,.lib,.h) 2.显式链接(需要.dl ...
- DLL中导出函数的声明有两种方式
本文引用自:VC编程时DLL中导出函数的声明有两种方式 一种方式是:在函数声明中加上__declspec(dllexport): 另外一种方式是:采用模块定义(.def)文件声明,(.def)文件为链 ...
- 数据库注册两种方式的比较
在学习JDBC的时候,通常有两种方式去注册数据库驱动程序(这里采用MySQL数据库),分别为: DriverManager.registerDriver(new Driver()); Class.fo ...
- java手动注册filter,SpringBoot注册Filter的两种实现方式
springboot版本:2.2.5 一.filter注册 springboot中添加filter有两种方式: 1.实现方法一 2.实现方法二 二.Springboot自带filter Springb ...
- 判断dll的.netframwork的版本的两种方式
1.使用ILSpy将dll打开,如下图可以看到.NETFramework的版本: 2.使用反射,代码如下: var tar = (TargetFrameworkAttribute)Assembly.L ...
最新文章
- Go 学习笔记(26)— Go 习惯用法(多值赋值,短变量声明和赋值,简写模式、多值返回函数、comma,ok 表达式、传值规则)
- python招聘笔试题_滴滴2020年春招笔试题分析(Python)
- 如何高性能添加UIView阴影
- web login do.php,dologin.php
- jsoncpp的读写操作
- HDU ACM Steps攻略 ACM Steps的全部内容
- 你用的那些开源项目可能已经被放弃维护!
- GARFIELD@12-09-2004
- 微信支付将推双面屏;库克谈收购英特尔基带业务;Chrome 76 稳定版发布 | 极客头条...
- Malthus模型预测人口增长
- 医院信息管理系统需求分析
- 4.2V锂电池充电、放电保护电路分享
- LoadRunner教程(29)-LoadRunner监控Tomcat
- 康佳电视软件测试工程师,康佳电视怎么样之康佳55吋曲面人工智能电视试用测评...
- 计算机控制的仓库定位系统,(边江文档教材)智能立体仓库物品定位的plc自动控制系统.doc...
- 该内存不能为read或written的解决方案
- JVM(2):垃圾收集器与gc
- mysql编译安装指定端口_在CentOS7系统上编译安装MySQL 5.7.13步骤详解
- POJ3107Godfather找重心
- 分析葡萄酒化学成分及Logistic回归预测葡萄酒口感
热门文章
- JRTPLIB使用中碰到的问题
- Android Studio 统计代码行数插件 — Statistic 申请软著写源程序量
- 费曼:“只要我不能创造的,我就还不理解”
- 数学系教材推荐(转载)
- java安装后打开jar文件_java环境变量配置好后双击jar文件无法运行的解决办法
- CompoundButton调用setChecked多次触发onCheckedChanged
- 刚知道,qq聊天的时候可以这么装逼
- thinkpadt410接口介绍_ThinkPadT410全程拆解
- 汉字字符集编码查询 unicode编码查询
- 死亡之ping (ping of death)