精华内容
下载资源
问答
  • powerdesigner 16.5 破解文件dll文件 直接覆盖即可

    千次下载 热门讨论 2013-03-21 12:50:49
    google上的16.5破解文件竟然是个下载软件的假链接,一怒之下只好自己动手丰衣足食。 powerdesigner 16.5 破解文件下载后覆盖到安装目录即可。试用版版本信息不会变化,但是软件license不会过期。
  • 1.vs2015下生成DLL文件文件->新建->项目点击确定选择dll选项和空项目选项点击完成 为项目添加c++源文件mydll.cppextern "C" // 此处extern "c" 为解决c/c++兼容问题 { _declspec...

    1.vs2015下生成DLL文件


    文件->新建->项目



    点击确定选择dll选项和空项目选项




    点击完成 


    为项目添加c++源文件mydll.cpp


    1. extern "C" // 此处extern "c" 为解决c/c++兼容问题
    2. {
    3. _declspec(dllexport)int add(int a, int b)
    4. {
    5. return a + b;
    6. }
    7. extern "C"
    8. {
    9. _declspec(dllexport)int sub(int a, int b)
    10. {
    11. return a - b;
    12. }
    13. }


    编译生成 成功后会在工程根目录生成Win32Project1.dll文件

    2.对dll文件的调用


    显示调用动态链接库

    新建C++工程



    把生成的 Win32Project1.dll 文件拷贝到 刚才新建的工程目录下



    在工程中新建源文件写入代码为

    1. #include<iostream>
    2. #include<windows.h>
    3. void main()
    4. {
    5. HINSTANCE mydll = LoadLibrary("Win32Project1.dll"); //载入dll文件
    6. if (mydll == NULL)
    7. {
    8. return;
    9. }
    10. int(*add)(int, int) =( int (*)(int ,int )) GetProcAddress(mydll, "add");//获取函数指针
    11. /*
    12. 等价于
    13. typedef int(*myadd)(int, int); //给 函数指针int (*)(int, int ) 取别名 myadd
    14. myadd a = (myadd) GetProcAddress(mydll,"add"); //获取函数地址
    15. */
    16. if (add == NULL)
    17. {
    18. return;
    19. }
    20. std::cout << add(1, 2);
    21. std::cin.get();
    22. }


    编译并运行即可。

    展开全文
  • 如何注册DLL文件 将您下载的 "*. DLL" 文件复制到 "C:\Windows\system32\" 系统目录下 然后按 "Win键+R" 或单击 "开始"->"运行" 输入 "regsvr32 *.dll" 命令注册到系统文件。适用于Windows XP/2003/vista/win...
    •  如何注册DLL文件
    将您下载的 "*. DLL" 文件复制到 "C:\Windows\system32\" 系统目录下 然后按 "Win键+R" 或单击 "开始"->"运行" 输入 "regsvr32 *.dll" 命令注册到系统文件。适用于Windows XP/2003/vista/win7/win8.
    如何注册Windows\system32\下的所有.dll和.ocx文件?
    在开始->运行(win+r)下输入命令:
    cmd /c for %i in (%windir%\system32\*.dll) do regsvr32.exe /s %i
    cmd /c for %i in (%windir%\system32\*.ocx) do regsvr32.exe /s %i
     
    注:如出现 “xxx.exe - 无法找到入口,无法定位程序输入点 xxx 于动态链接库 xxx.dll上。” 或是 “损坏的图像 应用程序或 DLL X:\xxx.DLL 为无效的 Windows 映像。请再检测一遍您的安装盘。” 的问题一般是由于dll文件版本与exe文件版本不同造成,此时可在你的系统内搜索该DLL文件,将搜索到的DLL同名文件全部删除,然后更换本站压缩包内的其他版本dll文件,再放进程序的目录或系统目录。
    展开全文
  • 删除dll文件

    千次阅读 2014-04-21 19:05:29
    手工删除dll文件 dll动态链接表一般是其他程序调用,导致不能删除,如果是shanc

    手工删除dll文件

    dll动态链接表一般是其他程序调用,导致不能删除


    解决:

    cmd

    tasklist /m>e:\listdll.txt


    打开e盘下的listdll.txt 查找是哪一个程序占用了dll ,关闭程序即可


    如果是删除软件后残留的dll文件,则

    会被explorer.exe占用,所以dll是删不掉的,


    C-S-Escape 关闭explorer.exe ,在新建一个explorer.exe 就可以删除dll了



    例外:金山快盘安装后会有kuaipanshellext.dll一直删不掉

    结束explorer.exe再删也不行


    cmd

    tasklist /m kuaipanshellext.dll


    会显示出pid ....


    taskkill /f /pid ....

    展开全文
  • C# 调用 dll 文件

    千次阅读 2019-05-29 15:38:31
    一、先使用C++来创建一个 .dll 文件 1、创建新项目:CreateDll01 2、选择 “动态链接库(.dll)” 文件 3、在CreateDll01.cpp 源文件中添加如下代码 // CreateDll01.cpp : 定义 DLL 应用程序的导出函数。 /...

    一、先使用C++来创建一个 .dll 文件

    1、创建新项目:CreateDll01

     

    2、选择 “动态链接库(.dll)” 文件

     

    3、在 CreateDll01.cpp 源文件中添加如下代码

     

    // CreateDll01.cpp : 定义 DLL 应用程序的导出函数。
    //
    
    #include "stdafx.h"
    
    extern "C" __declspec(dllexport) int TheAdd(int a, int b) {
    	return a + b;
    }
    
    extern "C" __declspec(dllexport) int TheSub(int c, int d) {
    	return c - d;
    }

    【注意】:

    • __declspec(dllexport)  表示这个函数需要导出到 dll 中供其他程序调用。
    • extern "C"  表示以C的格式进行导出(方便用C++以外的语言进行调用)。

    4、生成解决方案,来将其编译成对应的 dll 文件, dll 文件位于该项目的 Debug 目录中

      

       

     


    二、C#对 .dll 文件的调用介绍

    1、每种编程语言调用DLL的方法都不尽相同。在C#调用DLL中,首先需要了解什么是托管,什么是非托管。一般可以认为:非托管代码主要是基于win 32平台开发的DLL,activeX的组件,托管代码是基于.net平台开发的。

    2、C#调用 DLL 非托管代码的方法:

    (1)、应该在C#语言源程序中声明外部方法,其基本形式如下:

    [DLLImport(“DLL文件名”)]
    修饰符 extern 返回变量类型 方法名称 (参数列表)
    
    eg:
    
    [DllImport("CreateDll01.dll", CallingConvention = CallingConvention.Cdecl)]
    public static extern int TheAdd(int a, int b);
    

    (2)、用法总结

    DLL文件名:要调用的外部库文件名或该文件路径,其中包含待调用的方法。
    修饰符: 访问修饰符,除了abstract 以外在声明方法时可以使用的修饰符。
    返回变量类型:要和 DLL文件中你需调用方法的返回值类型相同。
    方法名称:在DLL文件中你需调用方法的名称(注意:该方法名称可以与 dll 文件中待调用的方法名称不同,此时需要在 DllImport() 中加上 EntryPoint 属性,让其值为DLL文件中你需调用方法的名称。相当于告诉该调用的函数入口点,然后就可以在下面的“方法名称 ”处重载该方法。若在   DllImport() 中没有 EntryPoint 属性,则需要调用的 “方法名称 ” 必须与 dll 文件中的函数名称相同 )
    参数列表:在DLL文件中你需调用方法的列表。
    注意:必需要在程序声明中使用 System.Runtime.InteropServices 命名空间。
    DllImport只能放置在方法声明上。
    DLL文件必须位于程序当前目录或系统定义的查询路径中(需要将生成的 DLL文件拷贝到当前程序的 bin\Debug 目录下)。
    返回变量类型、参数列表一定要与DLL文件中的定义相一致。

    DllImportAttribute 常用属性说明(详解):

    CallingConvention:指定用于传递方法参数的调用约定。 默认值为 WinAPI,该值对应于基于 32 位 Intel 的平台的 __stdcall。

    EntryPoint: 指定要调用 DLL 方法入口点。


    三、C# 调用 .dll 文件的实例

    1、创建一个新的控制台应用(.NET Framwork):CallTheDll01 . 注意:不能选择 “控制台应用(.NET Core)” ,选择该项时总是提示无法加载dll文件,使得调用 dll 文件失败。可能是由于“ 控制台应用(.NET Core)” 在VS中编译后默认无法生成 .exe 文件导致。

    2、接下来在C#的Program.cs 文件中的代码会有两种引入 DLL 文件的方式:

       **************引入方式一:拷贝 dll 文件到当前项目目录下,以 dll 文件名引入该文件******************

    (1)、该方式必须将之前用C++编译的 dll 文件复制到控制台应用的 bin\Debug 目录下,否则会提示错误

     

    (2)、在 Program.cs 文件中添加以下代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Runtime.InteropServices;
    
    namespace CallTheDll01
    {
        class Program
        {
            // 必须要有 CallingConvention.Cdecl,否则程序会报错
            [DllImport("CreateDll01.dll", CallingConvention = CallingConvention.Cdecl)]
            public static extern int TheAdd(int a, int b);
    
            // 若要让本程序中调用的函数名与DLL中的函数名不同,则需要在 DllImport()中添加 EntryPoint 属性
            // 同时 EntryPoint 属性值必须与DLL中被调函数的名称相同,以告诉该调用函数的入口位置
            [DllImport("CreateDll01.dll",EntryPoint ="TheSub", CallingConvention = CallingConvention.Cdecl)]
            public static extern int TestTheSub(int c, int d); //此时将被调函数的名称由TheSub重载为TestTheSub即可
            static void Main(string[] args)
            {
                Console.WriteLine("The answer of 2+8 = {0}", TheAdd(2, 8));
                Console.WriteLine("The answer of 8-2 = {0}", TestTheSub(8, 2));
                Console.ReadKey();
            }
        }
    }
    

     ****************引入方式二:通过 dll 文件的绝对路径来将该 dll 文件引入到控制台应用中***************

    (1)、通过绝对路径的方式,不需要将待调用的 dll 文件复制到当前控制台应用中。只需要给出该 dll 文件的绝对路径即可。使用该方式来引入 dll 文件非常方便修改和使用。

    (2)、在 Program.cs 文件中添加以下代码:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Runtime.InteropServices;
    
    namespace CallTheDll01
    {
        class Program
        {
            // 在此处使用 CreateDll01.dll 文件的绝对路径
            [DllImport(@"E:\Coding\C++\TheDLL\CreateDll01\Debug\CreateDll01.dll",CallingConvention=CallingConvention.Cdecl)]
            public static extern int TheAdd(int a, int b);
    
            // 由于上面已经使用了 CreateDll01.dll 文件的绝对路径,并且在下面的TheAdd(2, 8)处调用过该dll文件中的函数,所以
            // 在此处可以只写该 dll文件名,但为了保险起见,还是最好写待调用dll文件的绝对路径名
            [DllImport("CreateDll01.dll", EntryPoint = "TheSub",CallingConvention =CallingConvention.Cdecl)]
            public static extern int TestTheSub(int c, int d);
            static void Main(string[] args)
            {
                Console.WriteLine("The answer of 2+8 = {0}", TheAdd(2, 8));
                Console.WriteLine("The answer of 8-2 = {0}", TestTheSub(8, 2));
                Console.ReadKey();
            }
        }
    }

    3、点击 F5 运行结果如下:

       

    4、总结、注意:

    • 如果C# 调用的 DLL 文件是通过模块(.def)的方式来创建的(方法二:使用模块(.def)的方式来进行生成 .dll 文件),则可以在 .def 文件中的 EXPORTS 输出的函数名后面 @n,来指定各个函数的序号,以使其调用时让 EntryPoint 属性值用该序号来代替相应的函数名。如:[DllImport("CreateDll01.dll" , EntryPoint ="#2" , CallingConvention = CallingConvention.Cdecl)]

    参考资料:

    [1]  在C#中调用和调试C++代码

    [2]  C# 调用外部dll

    [3]  C#托管代码与C++非托管代码互相调用一

    [4]  C# 中调用dll

    [5]  利用C++创建DLL并C#调用

    展开全文
  • 比如我要把TestDLL.cs文件编译成dll文件,则在命令提示符下,输入下面的命令,生成的文件为TestDLL.dll csc /target:library TestDLL.cs 注意前提是你安装了.NET Framework并把csc.exe加入了环境变量(参考我的另...
  • cs编译成DLL文件cs文件如何生成exe,dll文件以下是本人的制作过程:1.E盘下有一个Test.cs 文件。2.开始-》程序-》Microsoft Visual Studio 2005-》Visual Studio Tools-》Visual Studio 2005 命令提示3.命令提示...
  • C# 调用dll文件

    万次阅读 2019-02-28 18:13:55
    动态链接库(也称为DLL,即为“Dynamic Link Library”的缩写)是Microsoft Windows最重要的组成要素之一,打开Windows系统文件夹,你会发现文件夹中有很多DLL文件,Windows就是将一些主要的系统功能以DLL模块的形式...
  • 近来又有人在群里问如何用c语言编制dll文件(动态链接库)。原来没有对这个问题太在意过,也没有尝试过任何解决方案,毕竟原来我是用vb的(现在用.net),做个dll只不过是点选一下建立activeX dll工程的图标而已。...
  • Dev c++工具将C代码生成dll文件以及如何调用dll文件

    万次阅读 多人点赞 2017-08-03 17:47:18
    该篇文章是对工作中一个需求的总结,工作需求是要将C语言的函数接口,生成一个DLL文件,让labview调用。然后我尝试用devc++开发工具来实现这个功能,后来因为DLL生成了,但labview调用的结果和C执行的结果不一致,...
  • dll文件导出对应的lib文件

    千次阅读 2016-02-29 11:22:37
    在Windows平台上使用MSYS编译一些开源代码时经常只会生成DLL文件,而如果打算在VS中使用该DLL则需要有对应的LIB文件,下面以编译oRtp为例来看看如何从DLL文件中导出LIB文件。 需要进过两个步骤:由DLL文件生成def...
  • 3、项目引用unity的dll文件 4、在unity中新建一个脚本test.cs 5、在类库项目中引入unity脚本文件 6、生成DLL文件 7、根据生成路径找到生成的DLL文件,添加到unity中,并将test脚本挂载到Main ...
  • vc制作DLL文件与调用DLL文件的方法

    千次阅读 2012-05-02 10:00:47
    一、制作DLL文件的步骤 2. 新建一个空项目(Empty project) 在类视图里新建一个普通类(Generic) 这是...
  • 解决DLL文件丢失

    千次阅读 2017-10-31 21:28:35
    计算机小白篇,解决计算机丢失xxx.dll文件的事情 前篇一律都是同样的解决的办法第一步看提示记住xxx.dll文件的名称第二步找到百度搜索,(如果嫌弃百度广告多可以选择其他搜索类型),搜索dll文件进行下载,不过要...
  • 近来学习制作Dll文件,看了几个视频教程,看了网上的例子,看了msdn上的例子。现在做个总结,以便来日回顾,同时也希望以大家相互交流学习。注意1:用 method 1 named "Using Load - Time Dynamic Linking"...
  • python DLL文件调用问题

    万次阅读 2018-12-29 13:40:42
    在网上搜索很多关于pythonDLL文件调用的问题,大多给出的都是DLL文件的编写,然后python调用,但是在调用中遇到的一些问题却很少有提及,下面将给出在python调用DLL文件时遇到的一些问题等。  ctypes官网:...
  • Java调用dll文件

    千次阅读 2020-04-21 23:20:55
    近期根据C++做了一个图片质量检测的项目,目前需要在在java中进行调用,所以先在C++上生成dll文件,然后基于java调用dll文件实现功能。 环境: C++:VS2017(之前配置opencv真是要了老命) java:idea2020+jdk1.8。 ...
  • 如何运行dll文件

    千次阅读 2017-01-19 10:04:30
    直接拷贝该文件到系统目录里:  1、Windows 95/98/Me系统,将dao360.dll复制到C:\Windows\System目录下。  2、Windows NT/2000系统,将dao360.dll复制到C:\WINNT\System32目录下。  3、Windows XP/WIN7/Vista...
  • 一、代码封装成dll文件 步骤一:创建工程 图1:创建生成dll的工程 图2 图3 图4: 注意此处需要勾选QtCore,因为后面需要使用该库内QtCore/qglobal.h文件中的 Q_DECL_EXPORT 类 ...
  • 彻底删除顽固dll文件

    万次阅读 2017-09-19 21:03:43
    对于一些顽固的软件,在卸载之后会有残留的 dll 文件保留,而且这个 dll 文件并不能删除,有的会绑定到进程中(一般容易绑定到expore.exe进程中)随电脑开机一起启动,在删除文件的时候就会提示有程序占用(或服务在运行...
  • 如何手动运行dll文件,非注册dll

    万次阅读 2018-06-17 12:10:38
    遇到一个dll文件的恶意样本,cuckoo沙箱给出的运行命令如下:cd C:\Windows\System32\rundll32.exe C:\coreshell.dll,DllMain方法:rundll32.exe 文件位置,DllMainbut会弹出警告另外一种方法,在专家的文章中有提到...
  • 删除dll文件方法

    千次阅读 2009-02-12 17:25:00
    删除dll文件方法很多朋友多遇到过删除dll文件时无法删除的情况,有很多是用软件删除的,今天告诉大家一个不用软件删除DLL的办法,在清除病毒和顽固木马的时候更轻松!因为dll文件的特性注定了它可能被多个软件调用,这也...
  • vs工程生成dll文件及其调用方法

    万次阅读 多人点赞 2019-06-12 16:33:00
    vs工程生成dll文件及其调用方法1、vs工程中dll文件的生成1.1、将生成exe文件的工程修改为生成dll文件1.2、新建工程生成dll文件2、关于dll文件的调用 1、vs工程中dll文件的生成 1.1、将生成exe文件的工程修改为生成...
  • 一个应用程序可有多个DLL文件,一个DLL文件也可能被几个应用程序所共用,这样的DLL文件被称为共享DLL文件DLL文件一般被存放在C:WindowsSystem目录下 <br /> 二、修改DLL文件的具体应用<br
  • 前几天我重新在C盘装了系统,之后发现D盘的软件不能用了,点击运行时,出现:.dll文件找不到了! 我用everything搜索了一下,发现系统盘C:\Windows\SysWOW64下有这个文件,同时的我的软件安装路径下也有这个文件。...
  • .dll文件和.so文件

    千次阅读 2017-09-27 22:11:44
    前言记得很早之前有一个很流行的病毒,就是以...还有一次接触dll是在刚开始使用tomcat的时候,运行tomcat报错,但是可以成功启动tomcat,当时觉得非常奇怪,就上网查,说缺少一个dll文件,然后当时就去查了下dll文件是什
  • java 加载dll文件

    千次阅读 2018-08-23 19:54:47
    Dll有两类:Java所依赖的dll以及dll所依赖的dll。Java中加载dll的方式也有两种:(1)通过调用System.loadLibrary(String filename)(2)通过调用System.load(String filename)方法。其底层都是通过使用ClassLoader...
  • dll文件下载网址

    千次阅读 2019-07-13 15:26:28
    https://cn.dll-files.com/
  • C#中的DLL文件

    千次阅读 热门讨论 2017-12-08 20:09:06
    使用DLL文件的好处是程序不需要在运行之初加载所有代码,只有在程序需要某个函数的时候才从DLL中取出。另外,使用DLL文件还可以减少程序的体积。 一个DLL文件的生成过程 新建项目-类库-名称为BuildeADll。 新建...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 548,644
精华内容 219,457
关键字:

dll文件怎么编辑