为什么DLL在导入项没有成功解析时会加载失败?

合集下载

WORD打开时出现加载DLL错误解决方法

WORD打开时出现加载DLL错误解决方法

WORD打开时出现加载DLL错误解决方法
1、接下来看看解决办法,按组合键WIN + R或者按开始—-—运行,打开运行窗口,
2、在运行对话框中输入或者复制粘贴
“%USERPROFILE%\AppData\Roaming\Microsoft\Templates"(注意双引号就不要输入咧),输入完成后,点击确定按钮。

3、然后的打开的窗口中将“Normal。

dotm"文件删除,
4、到这里已经把问题完美解决啦,其实还有一种方法捏,仍然是打开开始———运行(或者按WIN + R快捷键),输入“regedit"(双引号不要输入)打开注册表.
5、进入注册表编辑器后,分别找到(定位)“HKEY_CURRENT_USER”和“HKEY_LOCAL_MACHINE”两个选项,
6、点击左侧的小箭头展开注册表选项,分别找到
“HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Word”和“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Word\Addi ns”
7、然后分别在找到的两个选项上点击右键—--删除就OK咧。

电脑出现加载DLL失败的一般解决方法介绍

电脑出现加载DLL失败的一般解决方法介绍

电脑出现加‎载DLL失‎败的一般解‎决方法介绍‎对于经常打‎游戏,或者应用软‎件较多的用‎户来说,使用电脑的‎过程中常常‎碰到电脑系‎统提示“加载DLL‎失败”,,不一定10‎0%好用,但是起码可‎以作为一个‎思路上的介‎绍,希望对您有‎所帮助。

一、关闭启动程‎序法开始菜单→运行→输入“mscon‎f ig”→确定→打开系统配‎置实用程序‎→点击"启动"选项卡→在命令里找‎到含该某某‎d ll的那‎一项(或没用的启‎动项),把前边的勾‎去掉,然后确定,重启计算机‎。

二、注册表法开始→运行→输入“reged‎i t”→确定→打开注册表‎编辑器。

找到以下的‎位置,删除含某某‎d ll的相‎应键值:HKEY_‎C URRE‎N T_US‎E R \Softw‎a re\Micro‎s oft\Windo‎w s\Curre‎n tVer‎s ion\Run在注册表编‎辑器中→菜单栏→编辑→查找→输入某某d‎l l→搜索→删除查找到‎的对应项目‎。

可能不止一‎个。

可以直接按‎f3键查找‎下一个。

三、其它1:进安全模式‎用360安‎全卫士清理‎垃圾文件2:去下载一个‎D LL(或到其它计‎算机上复制‎一份)覆盖它。

dll因为‎某些原因(最大可能是‎因为它是个‎病毒或流氓‎软件的dl‎l文件,被杀软删除‎了)丢失了,但其相关的‎注册信息却‎还在,导致系统开‎机时还加载‎它,却又找不到‎它的文件,所以报错。

一、开始菜单-运行-输入msc‎o nfig‎回车在里边‎的启动栏里‎把**.dll前面‎的勾去掉就‎行了。

1、开始——运行——mscon‎f ig——启动——把加载项***.dll的那‎个勾勾去掉‎。

重启电脑,通常到这就‎可以了,如果还弹出‎来再进行第‎二步2、开始——运行——reged‎i t 在下面的位‎置删除相应‎键值:HKEY_‎C URRE‎N T_US‎E R\Softw‎a re\Micro‎s oft\Windo‎w s\Curre‎n tVer‎s io n\RunHKEY_‎L OCAL‎_MACH‎I NE\SOFTW‎A RE\Micro‎s oft\Windo‎w s\Curre‎n t Ver‎s ion\Run二、那应该是一‎个已被删除‎了的病毒或‎间谍软件。

dll加载失败的原因

dll加载失败的原因

dll加载失败的原因DLL(Dynamic Link Library)加载失败可能有多种原因,下面列举了一些常见的情况:1.文件缺失或损坏:•DLL文件可能被删除、移动或损坏,导致加载失败。

确保DLL文件存在于正确的路径,并且没有受到破坏。

2.依赖关系问题:•DLL文件可能依赖于其他DLL文件。

如果其中一个依赖项不存在或版本不匹配,加载也会失败。

3.权限问题:•如果用户或程序没有足够的权限来访问DLL文件或相关文件夹,加载也可能失败。

确保用户有足够的权限。

4.32位和64位不匹配:•如果应用程序和DLL文件不是相同的位数(32位或64位),加载也会失败。

确保应用程序和DLL文件的位数匹配。

5.注册表错误:•注册表中的错误项或损坏的注册表项可能导致DLL加载失败。

使用系统工具修复注册表问题可能有助于解决此问题。

6.病毒或恶意软件感染:•DLL文件可能被病毒或恶意软件感染,导致加载失败。

进行全面的安全扫描以确保系统的安全性。

7.系统环境变量问题:•如果系统环境变量中没有正确配置DLL文件路径,加载也可能失败。

确保环境变量中包含正确的DLL路径。

8.版本不匹配:•应用程序可能依赖于DLL的特定版本,如果版本不匹配,加载可能失败。

确保应用程序和DLL之间的版本匹配。

9.编译器不同:•如果DLL是用不同的编译器或设置进行编译的,可能存在兼容性问题,导致加载失败。

10.应用程序的bug:•应用程序本身可能存在错误,导致在加载DLL时出现问题。

检查应用程序的日志和错误报告以获取更多信息。

在解决DLL加载失败的问题时,通常需要结合具体的错误信息和系统环境来进行分析和调试。

使用工具如Dependency Walker、Process Monitor等,可以帮助定位问题。

WORD打开时出现加载DLL错误解决方法

WORD打开时出现加载DLL错误解决方法

WORD打开时出现加载DLL错误解决方法WORD打开时出现加载DLL错误解决方法
1、接下来看看解决办法,按组合键WIN + R或者按开始---运行,打开运行窗口,
2、在运行对话框中输入或者复制粘贴
“%USERPROFILE%\AppData\Roaming\Microsoft\T emplate s”(注意双引号就不要输入咧),输入完成后,点击确定按钮。

3、然后的打开的窗口中将“Normal.dotm”文件删除,
4、到这里已经把问题完美解决啦,其实还有一种方法捏,仍然是打开开始---运行(或者按WIN + R快捷键),输入“regedit”(双引号不要输入)打开注册表。

5、进入注册表编辑器后,分别找到(定位)“HKEY_CURRENT_USER”和“HKEY_LOCAL_MACHINE”两个选项,
6、点击左侧的小箭头展开注册表选项,分别找到
“HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\W ord”和“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Word\A ddi ns”
7、然后分别在找到的两个选项上点击右键---删除就OK咧。

dll是什么文件_dll加载出错怎么办

dll是什么文件_dll加载出错怎么办

dll是什么文件_dll加载出错怎么办
很多用户不知道dll是什么文件,当电脑出现dll加载出错时就显得非常紧张。

今天巨盾安全工程师就来为大家普及一下dll是什么文件以及遇到dll加载出错怎么办的问题。

希望通过我们巨盾资讯的专题活动,能为大家解决一些日常的电脑的问题。

电脑中dll是什么文件?
电脑中后缀名为dll是动态链接库文件,与exe、com等文件一样都是可执行文件。

在Windows系统中,应用程序有很多不同的功能模块,这些功能的实现就需要有dll文件的参与。

一个dll文件可以被多个应用程序调用,一个应用程序也可以有多个dll文件。

总之dll是一个包含可以由多个程序同时调用的代码或数据的库文件。

dll加载出错怎么办?
我们在使用电脑时经常会遇见dll加载出错的问题,一般用户在使用杀毒软件或者木马专杀工具扫描并删除一些病毒文件后会出现这一情况。

dll加载出错大多是因为文件丢失导致的,这个时候也不用紧张,教大家一个方法。

打开注册表编辑器,在里面搜索加载出错的dll的文件名,在搜到的结果页面中,查看对应的dll路径,再去相应的路径下检查文件是否存在,如果不存在,就将这个注册表信息删除,注意要搜索出错的dll文件才行。

通过上面的介绍,想必大家对dll是什么文件和dll加载出错怎么办的问题已经有了一定的了解。

有这方面困扰的网友可以来巨盾资讯看看相关的问题。

加载dll文件失败,系统找不到指定模块解决方法

加载dll文件失败,系统找不到指定模块解决方法

加载dll文件失败,系统找不到指定模块解决方法(2012-11-01 22:23:06)转载▼标签:杂谈前些天,电脑中了病毒,病毒删除后,留了点后遗症,困惑了好几天,问题终于解决了。

方法如下(网上资源转摘)以备后用:这是因为开机自启动的应用程序找不到要调用的DLL文件给出的错误提示。

我们所要做的是判断这个DLL文件是正常应用程序的还是病毒的。

(通常病毒的成份会比较多。

这里我把3721,新浪的那些个鬼玩意儿也归为病毒)如果是正常应用程序的话。

如果可以找到这个DLL文件的话。

那么在运行里输入cmd回车调出命令提示符。

然后把目录转自应用程序的安装目录下。

运行regsvr32 xxxx.dll(就是不能正常加载的那个DLL文件)重新注册一次就可以了。

如果找不到的话。

那你就重新安装这个应用程序吧。

病毒这种情况见得比较多。

最有可能的就是病毒文件本身已经被杀毒软件查杀并删除了。

可启动信息还残留在电脑里。

也就是说。

在开机的时候系统还是会自动搜寻这个文件并试图运行他。

如果找不到的话就会给出类似的提示(所以这里可以举一反三。

并不只是DLL文件。

EXE文件等也是这个原因)这样的话。

你可以在开机启动项里找一找他。

1.电脑加载出错找不到指定的模块若是C:/WINDOWS/bownlo~/cnsMin.dll楼主点开始--运行--regedit--查找--cnsMin.dll--F3--删除--重启即可.]2.如果电脑开机出现'加载c:\progra`1\tencent\ssplus\update\temp2.dat时出错找不到指定的模块这个是QQ的问题,你把QQ御了再重装下,或者将启动时默认启动QQ的那个删掉,在开始,程序,启动栏里,如果没有,你可以尝试下卸掉QQ,重新安装看看]3.出现---加载"c:\**\****.dll"文件时出错,找不到指定模块的解决办法我的许多朋友的机子经常出现开机加载问题,他们被这个问题搞的很烦,久病成医,..下面介绍一下心得:【分析】电脑病毒、木马、流氓软件没杀干净,注册表残留了无用的DLL文件。

装载dll文件时出现LoadLibrary失败的原因及解决办法

装载dll文件时出现LoadLibrary失败的原因及解决办法(山东新华电脑学院整理供稿)有一网友在程序开发时写了一个dll文件,然后调用时出现LoadLibrary失败的情况,本小编通过网上搜集了一些有关LoadLibrary失败的原因及解决方法,希望对有需要的朋友有所帮助。

一、出现LoadLibrary失败的原因通常LoadLibrary失败的原因大多是代码书写不规范,编写dll文件一般不是很难,但关键是在写dll的时候代码不规范,这样在调用时就有可可能出现这样那样的问题,出现LoadLibrary失败也就不足为怪了,为了保证你使用正确的调用规范,要通知编译器使用stdcall规范和/或使用在windows.h(及相关文件)中定义的常量,如WINAPI等。

通常DLL的代码如下:WORD WINAPI vbShiftRight(WORD nValue, WORD nBits){return (nValue >> nBits);}下一步是与你在微软文档中读到的内容相反。

你需要创建一个DEF文件。

这是你防止输出函数名不出现乱字符的唯一方式(如_vbShiftRight@1)。

DEF文件的形式如下:EXPORTSvbShiftRight下一步是在VB中调用这个函数,使用以下声明:Declare Function vbShiftRight Lib "MYDLL.DLL" (ByVal nValue As Integer,ByVal nBits As Integer)As IntegerSub Test()Dim i As Integeri = vbShiftRight(4, 2)Debug.Assert i = 1End Sub如果你还想要更容易的方法从VB中调用,可以创建一个类型库。

为此你需要创建和编译ODL(对象描述语言)文件。

这个文件应该包含如下内容:module MyModule {[helpstring("Shifts the bits of an integer to the right."),entry("vbShiftRight")]short _stdcall vbShiftRight([in] short nValue, [in] short nBits);};当VB加载DLL的类型库时,函数名和参数将出现在VB的对象浏览器中。

彻底告别加载DLL出错 开机加载项大揭秘

彻底告别加载dll出错开机加载项大揭秘提到开机加载(load)项,大家不要以为就是系统启动(run)项。

最简单的例子是,杀毒软件或者用户手动删除病毒文件后,注册表中的自动加载信息仍在,登陆系统时就会提示“加载*dll出错,系统找不到指定的模块”,这些dll就是病毒寄生在系统进程之下的加载项。

加载dll出错病毒本身被阻止运行,却“挟系统以令用户”,辗转藏在系统进程后面继续狐假虎威,大行其道;它们被发现并删除后,下次系统登陆、启动服务、初始化用户配置、启动外壳explorer.exe时,依然会按注册表的指示运行rundll32.exe调用这些加载项,这时系统找不到文件实体,就会提示加载失败。

虽然不影响使用,但那“嗡”的一声,有如晴天霹雳,让人一开机就憋得慌!点击确定后也一直如坐针毡,总感觉自己中毒了。

其实,只要在注册表中搜索这个dll删掉,一般就能就地解决。

问题是,很多dll在注册表中根本搜索不到,但开机时它就是要弹框!别慌,只要去注册表中如下固定位置扫荡一遍,疏而不漏,总能找到蛛丝马迹。

以下位置最前四字母均为首字母缩写,在注册表利器Registry Workshop的地址栏中通用,可直接粘贴回车转到,并加入收藏,收藏还可分类哦~Let's Go!(1)WinLoadHKCU\Software\Microsoft\Windows NT\CurrentVersion\Windows\loadWindows_load如图,这项原本不存在,或者默认为空。

如果病毒将自己的dll添加到这里,可想而知系统启动时就会自动加载它。

(2)NotifyHKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\NotifyWinlogon_notify这里是windows登陆“通知”,图中的项都是正常项。

以前Windows 正版增值计划通知(WGA)提示Windows不是正版,就是通过wgalogon.dll在这里添加了一个项,登陆时通知调用WgaTray.exe,在托盘弹出提示的。

启动QQ游戏时提示加载DLL失败的处理方法

启动QQ游戏时提示加载DLL失败的处理方法启动QQ游戏提示加载DLL失败的处理方法经常看到版友说QQ游戏进不了,重装游戏也不行,出现“加载DLL失败”的提示。

现将各种情况的解决办法收集起来,希望能有所帮助。

DLL文件加载失败的处理1.加载cnsmin.dll时出错故障提示:加载c:\windows\downlo-l\cnsmin.dll时出错,拒绝访问。

解决方法:点击“开始→运行”,在运行框中输入“msconfig”,点击“启动”选项卡,把“cnsmin”项前的勾选取消,点击“确定”。

2.加载update.dll时出错故障提示:加载c:\winsows\system32\update.dll时出错。

找不到指定的模块。

解决方法:可能是病毒或者是恶意软件,自身加入启动项后,被杀毒软件之类的程序删除掉了,所以开机会出现此错误!运行“msconfig”打开“系统配置实用工具”,在“启动”选项卡中把“update.dll”项前的勾取消即可。

3.加载streamci时出错故障提示:加载streamci时出错,找不到指定的模块。

解决方法:streamc.dll是安装流媒体硬件设备相关的文件可以从安装盘或者其他机器(必须是相同版本的操作系统)上复制下来放到故障机的c:\windows\system32下,或者直接下载文件放进去也行。

下载地址:/cfan/200624/streamci.rar。

4.加载wxr5go93.dll时出错故障提示:加载c:\windows\downlo-l\wxr5go93.dll出错,找不到指定的模块。

解决方法:首先运行msconfig,然后选择“有选择的启动”,勾选“加载系统服务”,剩下三项的勾选状态全部去除。

然后点击“服务”选项卡,勾选“隐藏所有microsoft服务”,然后取消列表中所有项目前的勾选,点击“确定”后重起电脑,大部分问题可以解决。

5.加载rundll32时出错故障提示:rundll32加载时出错,找不到指定的模块。

电脑出现“加载DLL失败”的一般解决方法介绍

电脑出现“加载DLL失败”的一般解决方法介绍DLL下载帮助电脑出现“加载DLL失败”的一般解决方法介绍一、关闭启动程序法开始菜单→运行→输入“msconfig”→确定→打开系统配置实用程序→点击"启动"选项卡→在命令里找到含该某某dll的那一项(或没用的启动项),把前边的勾去掉,然后确定,重启计算机。

二、注册表法开始→运行→输入“regedit”→确定→打开注册表编辑器。

找到以下的位置,删除含某某dll的相应键值: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 在注册表编辑器中→菜单栏→编辑→查找→输入某某dll→搜索→删除查找到的对应项目。

可能不止一个。

可以直接按f3键查找下一个。

三、其它1:进安全模式用360安全卫士清理垃圾文件2:去下载一个DLL(或到其它计算机上复制一份)覆盖它。

dll因为某些原因(最大可能是因为它是个病毒或流氓软件的dll文件,被杀软删除了)丢失了,但其相关的注册信息却还在,导致系统开机时还加载它,却又找不到它的文件,所以报错。

一、开始菜单-运行-输入msconfig回车在里边的启动栏里把**.dll前面的勾去掉就行了。

1、开始——运行——msconfig——启动——把加载项***.dll的那个勾勾去掉。

重启电脑,通常到这就可以了,如果还弹出来再进行第二步2、开始——运行——regedit 在下面的位置删除相应键值:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVer sion\RunHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Curren tVersion\Run二、那应该是一个已被删除了的病毒或间谍软件。

但也有可能是你卸载某个软件不正确留下的残留。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

为什么DLL在导入项没有成功解析时会加载失败?
展开全文
短答案因为我们测试过其他方案,只有这种方式是最好的。

长答案在16位的Windows系统上,如果一个模块没有满足其所有的导入表,则它仍然可以被系统加载。

只要你不调用一个丢失的导入项,则一切都还是正常的。

如果你尝试调用一个丢失的导入项,程序将会立即崩溃并显示”不可恢复的错误”的对话框提示。

到了Win32时代,开发团队觉得这是一个很糟糕的设计,因为有时候人们会将一个为Windows 3.1开发的应用程序拷贝到Windows 3.0上并运行,一开始,这个应用程序运行的还
不错,但是如果这个应用调用了一个只在Windows 3.1平台上可用的函数时(例如,GetSaveFileName这个函数),应用程序会立即崩溃。

因此Win32开发团队决定,如果有任何一个导入项没有被成功解析,则应用程序一开始加载的时候就会失败。

如果上面例子中的应用程序开发商希望能将他们的应用运行在Windows 3.0上,则可以通过显式地使用GetProcAddress来表明这一点。

因为如果必须显式调用GetProcAddress,则可能需要检查返回值。

当人们大声疾呼时,有时会出现此问题:”天哪,我应该有一种方法可以将导入项标记为’可选’-如果无法绑定,则加载应该不会失败。

在调用绑定之前,应用程序有责任验证绑定是否成功。

”,这些人可能是无意中在要求历史的重演,因为这又会回到我们一开始碰到问题的地方。

总结如果对一个函数调用在当前平台上是否可用存在疑虑,可以尝试先用GetProcAddress来获取函数地址,如果函数不可用则进行相应的提示或者错误处理,尽量地让你的应用优雅的退出。

相关文档
最新文档