① 用C语言编写DLL
下面就是一个dll的主函数。加上一个空的导出函数.链接的时候目标是dll或者建立dll工程专。连接器里面有设置#include__declspec(dllexport)voidFuncInDll(void){}BOOLAPIENTRYDllMain(HANDLEhMole,DWORDdwReason,void*lpReserved){HANDLEg_hMole;switch(dwReason){caseDLL_PROCESS_ATTACH:g_hMole=(HINSTANCE)hMole;break;caseDLL_PROCESS_DETACH:g_hMole=NULL;break;}returnTRUE;}注册属表操作有一系列API函数可以调用。你可以在MSDN搜索以Reg开头的API如RegOpenKey,然后旁边一堆相关的注册表API。注册表键值HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下添加项可以实现开机启动。当然还有其它方法。
② ".dll" 的文件是用什么语言写成的有什么可以查看他们吗
".dll" 的文件是一种称为动态连接库的可执行文件,可以用很多种软件写成,包括VC,Delphi等等,用的语言有C++等。文件生成以后,就像EXE文件一样,没有办法看里面的内容。
③ 在线生成dll
您想问的是怎么生成dll文件吧。DLL是DynamicLinkLibrary的缩写,意为动态链接库。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,dll文件可以用visualstudio生成,一般用c++或者c#语言写的。
④ dll文件大都使用C语言或者C++编写的吗 我从网上搜相关的例子都是这两种语言编写的
DLL(Dynamic Linkable Library)是动态链接库的缩写,是一种磁盘文件格式,可包含各种编程资源(图标、字符版串)、函数权、类库、数据,Com组件,任何编译器都可以编写DLL文件,因此不同的编译器可编译的DLL文件并不相同,因为他们封装不同,从而并是所有DLL文件可以在任意平台上简单调用。 C++可以编译大部分类型的DLL,VB可以编译Com组件,需要说明的是,C#编译的DLL文件无法直接在C++和VB中调用,必须在项目中做些设置,指示编译器编译成使Com组件可见,并为所有类和方法提供接口,方可提供给其他平台以COM方式调用。
⑤ 易语言怎么写dll呢
你好,这个问题很好实现的。请按以下步骤操作1、打开易语言2、新建 – Windows动态链接库3、在程序集1处新建一个子程序并且命名,同时要把该子程序的公开选项打勾4、在子程序中写DLL的代码。5、静态编译成DLL文件。如果还不懂的话可在网络搜一下易语言DLL制作。一大堆的教程例程。希望我的回答对你有所帮助!Kiss灬小猪
⑥ 可执行文件(exe、dll)是用什么计算机语言写的
exe、dll文件是指文件类型,这两个文件类型通常是指windows和dos等操作系统上的文件类型,exe是指可执行文件,该类型的文件是可以直接运行的程序,如你要运行某一个程序,双击的就是这种exe类型的文件;dll是指动态连接库文件,该类型的文件并不是一个完整的可执行文件,当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可有多个DLL文件,一个DLL文件也可能被几个应用程序所共用,这样的DLL文件被称为共享DLL文件。 基本所有的windows系统下面的开发语言都可以写出这种类型的文件,如:VC#,C++,VB,VC,delphi,java等都可以写出这样的文件。
⑦ dll文件怎么使用
DLL文件即动态链接库文件,是一种可执行文件,它允许程序共享执行特殊任务所必需的代码和其他资源。Windows提供的DLL文件中包含了允许基于Windows的程序在Windows环境下操作的许多函数和资源。DLL多数情况下是带有DLL扩展名的文件,但也可能是EXE或其他扩展名。它们向运行于Windows操作系统下的程序提供代码、数据或函数。程序可根据DLL文件中的指令打开、启用、查询、禁用和关闭驱动程序。DLL的全称是DynamicLinkLibrary,中文叫做“动态链接文件”。在Windows操作系统中,DLL对于程序执行是非常重要的,因为程序在执行的时候,必须链接到DLL文件,才能够正确地运行。而有些DLL文件可以被许多程序共用。因此,程序设计人员可以利用DLL文件,使程序不至于太过巨大。但是当安装的程序越来越多,DLL文件也就会越来越多,如果当你删除程序的时候,没有用的DLL文件没有被删除的话,久而久之就造成系统的负担了。DLL是动态连接库。使用动态连接库的一些好处是:1.多个应用程序共享代码和数据:比如Office软件的各个组成部分有相似的外观和功能,这就是通过共享动态连接库实现的。2.在钩子程序过滤系统消息时必须使用动态连接库。3.动态连接库以一种自然的方式将一个大的应用程序划分为几个小的模块,有利于小组内部成员的分工与合作。而且,各个模块可以独立升级。如果小组中的一个成员开发了一组实用例程,他就可以把这些例程放在一个动态连接库中,让小组的其他成员使用。4.为了实现应用程序的国际化,往往需要使用动态连接库。使用动态连接库可以将针对某一国家、语言的信息存放在其中。对于不同的版本,使用不同的动态连接库。在使用AppWizard生成应用程序时,我们可以指定资源文件使用的语言,这就是通过提供不同的动态连接库实现的。VC++、C++Builder、Delphi都可以编写DLL文件。VisualBasic5.0以上版本也可以编写一种特殊的DLL,即ActiveXDLL。DLL不是独立运行的程序,它是某个程序的一个部分,它只能由所属的程序调用。用户不能,也不需要打开它。EXeScope V6.50 汉化版 打开.dll文件并对其进行编辑
⑧ dll文件用什么语言写或者怎么制作
DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型。在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中。当我们执行某一个程序时,相应的DLL文件就会被调用。一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序使用,这样的DLL文件被称为共享DLL文件。Windows操作系统中的一些作为 DLL 实现的文件·ActiveX 控件 (.ocx) 文件ActiveX控件的一个示例是日历控件,它使您可以从日历中选择日期。·控制面板 (.cpl) 文件.cpl 文件的一个示例是位于控制面板中的项。每个项都是一个专用 DLL。·设备驱动程序(.drv) 文件设备驱动程序的一个示例是控制打印到打印机的打印机驱动程序。链接方法:当您在应用程序中加载 DLL 时,可以使用两种链接方法来调用导出的 DLL 函数。这两种链接方法是加载时动态链接和运行时动态链接。在运行时动态链接中,应用程序调用 LoadLibrary 函数或 LoadLibraryEx 函数以在运行时加载 DLL。成功加载 DLL 后,可以使用 GetProcAddress 函数获得要调用的导出的 DLL 函数的地址。在使用运行时动态链接时,无需使用导入库文件。Win32 DLL的特点Win32 DLL与 Win16 DLL有很大的区别,这主要是由操作系统的设计思想决定的。一方面,在Win16 DLL中程序入口点函数和出口点函数(LibMain和WEP)是分别实现的;而在Win32 DLL中却由同一函数DLLMain来实现。无论何时,当一个进程或线程载入和卸载DLL时,都要调用该函数,它的原型是BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason, LPVOID lpvReserved);其中,第一个参数表示DLL的实例句柄;第三个参数系统保留;这里主要介绍一下第二个参数,它有四个可能的值:DLL_PROCESS_ATTACH(进程载入),DLL_THREAD_ATTACH(线程载入),DLL_THREAD_DETACH(线程卸载),DLL_PROCESS_DETACH(进程卸载),在DLLMain函数中可以对传递进来的这个参数的值进行判别,并根据不同的参数值对DLL进行必要的初始化或清理工作。举个例子来说,当有一个进程载入一个DLL时,系统分派给DLL的第二个参数为DLL_PROCESS_ATTACH,这时,你可以根据这个参数初始化特定的数据。另一方面,在Win16环境下,所有应用程序都在同一地址空间;而在Win32环境下,所有应用程序都有自己的私有空间,每个进程的空间都是相互独立的,这减少了应用程序间的相互影响,但同时也增加了编程的难度。大家知道,在Win16环境中,DLL的全局数据对每个载入它的进程来说都是相同的;而在Win32环境中,情况却发生了变化,当进程在载入DLL时,系统自动把DLL地址映射到该进程的私有空间,而且也复制该DLL的全局数据的一份拷贝到该进程空间,也就是说每个进程所拥有的相同的DLL的全局数据其值却并不一定是相同的。因此,在Win32环境下要想在多个进程中共享数据,就必须进行必要的设置。亦即把这些需要共享的数据分离出来,放置在一个独立的数据段里,并把该段的属性设置为共享。
⑨ 用C语言编写DLL
下面就是一个dll的主函数。加上一个空的导出函数.链接的时候目标是dll或者建立dll工程。连接器里面有设置#include<windows.h>__declspec(dllexport) void FuncInDll (void){}BOOL APIENTRY DllMain(HANDLE hMole, DWORD dwReason, void* lpReserved) { HANDLE g_hMole; switch(dwReason) { case DLL_PROCESS_ATTACH: g_hMole = (HINSTANCE)hMole; break; case DLL_PROCESS_DETACH: g_hMole=NULL; break; } return TRUE;}注册表操作有一系列API函数可以调用。你可以在MSDN搜索以Reg开头的API如RegOpenKey,然后旁边一堆相关的注册表API。注册表键值HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下添加项可以实现开机启动。当然还有其它方法。
⑩ *.dll文件用什么语言、软件编写有什么特殊要求
*.dll 一般用 VC,Delphi C# 等开发工具编写 至于要求就是 *.dll 是给自已或别人调用的如果你要考虑广泛的兼容 比如 你用VC 写的,可以给 VC,Delphi,PB,VB,C# 等语言调用 你的 dll 输出函数传参方式就得按固定方式,一般采用Win32API 类似的 cdel 传参方式 *.dll 有时不仅仅是一些函数库,有些 *.dll 是一个COM或DCOM组件,支持 regsvr32 xxx.dll 来注册,这就要求 .dll 中对应的 注册与反注册函数,也就是遵循某个框架。 还有 *.dll 不一定就是放些函数执行代码,*.dll中也可以放数据,如图片或资源(还是图片或文字)什么的。 参考一些支持多国语言的程序,换一个dll 就显示的不同国家文字,就是通过不同的资源 .dll 来实现的。最后,*.dll 不一定是 .dll 这个怎么说呢,就是你的程序中用到的 一些数据文件或配置文件或记录文件你也可以命名为 xxx.dll 这样多数据情况普通用户就不会乱改你的配置/记录文件了。因为相对于 *.ini 文件 .dll 一般用户不是“随意”能用记事本打开来改的。当然不建议这么做。