添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

转自: https://www.cnblogs.com/xiesong/p/7243397.html

有时会遇到dll在系统中不存在,需要程序自己去注册所需的dll文件。

注册dll 需要用到regsvr32命令,其用法为:
"regsvr32 [/s] [/n] [/u] [/i[:cmdline]] dllname”。其中dllname为dll文件名
参数有如下意义:
/u——反注册控件
/s——不管注册成功与否,均不显示提示框
/c——控制台输出
/i——跳过控件的选项进行安装(与注册不同)
/n——不注册控件,此选项必须与/i选项一起使用

分享代码如下:

private bool RegisterDll()
    bool result = true;
        string dllPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "XXX.dll");//获得要注册的dll的物理路径
        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;
                    转自:https://www.cnblogs.com/xiesong/p/7243397.html有时会遇到dll在系统中不存在,需要程序自己去注册所需的dll文件。注册dll 需要用到regsvr32命令,其用法为:"regsvr32 [/s] [/n][/u] [/i[:cmdline]]dllname”。其中dllname为dll文件名参数有如下意义:/u——反注册控件/s——不管注册成功与否,均不显示提示框/c——控制台输出/i——跳过控件的选项进行安装(与注册不同)/n—..
				
SwfDotNet是C#编写的,这是个特别好的读写Swf文件的库。本文讲述了在C++项目中,怎么让C++调用C#DLL动态链接库文件。 具体的实现步骤如下: 一、创建C# DLL,需要指定应用类型为“类库”,代码: namespace CSLib public class Class1 private string name; public string Name return name; name = "Your Name:
方法如下: 1、 项目右键选择“属性”; 2、 添加资源文件:在属性设置界面选择“资源”选项卡,点击“添加现有文件”,选择需嵌入的dll文件;添加资源后dll将拷贝到项目文件夹下的“Resources”子文件夹下; 3、 添加上一步添加的dll文件; 4、 Dll属性复制本地设置为False; 5、 在应用程序的主入口点添加一下代码
本文实例讲述了C#生成DLL文件的方法。分享给大家供大家参考。具体分析如下: Visual C#生成DLL文件 VisualC、Delphi或者VB等编程语言来编写的DLL文件,在编译完成以后,产生DLL文件已经是一个可以直接供计算机使用的二进制文件。但用Visual C#编译器生成的受管代码虽然也是二进制文件,但不是可以直接供计算机使用的原始代码,实质上是一种中间语言(IL)代码,需要经过”下一代窗口服务”( Next Generation Windows Services,简写为NGWS ) runtime的即时编译器(即JIT)进行编译。 用Visual C#生成的DLL文件已经和以前的
注册表项目 [HKEY_CLASSES_ROOT\dllfile\shell\Unregister]"Command"="regsvr32 %1 /u"[HKEY_CLASSES_ROOT\dllfile\shell\Register]"Command"="regsvr32 %1"当我们需要注册或者反注册dll时,只要在该dll文件上按下鼠标右键即可! 反注册...
没有注册类别 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG) 查找原因: Interop.WMPLib.dll AxInterop.WMPLib.dll 程序内含private AxAPlayer3Lib.AxPlayer axPlayer; 最初出现问题分析思路:1.先注册两个动态库,注册失败: 两个动态库是不能直接注册
c# 注册模块Dll 直接引用 调用即可,注册机可以找我要QQ:jasonto@qq.com 使用方法: private void Form1_Load(object sender, EventArgs e) Reg abc = new Reg("test.exe");//test.exe为应用程序名称; abc.WindowState = FormWindowState.Minimized; if (abc.ShowDialog() == DialogResult.OK) this.Text = "已注册版本"; Application.Exit(); catch (Exception) MessageBox.Show("重要dll,丢失!"); Application.Exit();