动态链接库初始化例程失败QQ空间进不去动态链接库(DLL)初始化例程失败。
动态链接库初始化例程失败 时间:2021-07-11 阅读:(
)
win7 RunDLL 动态链接库初始化例程失败
看一下,这个动态链是否在?
看好了那个dll扩展名的动态链名称,然后使用工具重新下载覆盖之。
方法看教程。
?
方法一:
1、在同系统中找到此文件,黏贴到:C:WindowsSystem32文件夹底下
2、打开CMD窗口输入如下命令注册一下所有的动态链:
for %1 in (%windir%system32*.dll) do regsvr32.exe /s %1 回车执行
?
for %1 in (%windir%system32*.ocx) do regsvr32.exe /s %1 回车执行
?
两条分别运行完成后重启机器。
方法二:使用工具,保持联网,输入动态链名称,自动更新替换。
百度系列经验:《动态链修复工具DllFiles》/article/bceb64792064cab197f5.html
我的电脑老是跳去动态链接库(DLL)初始化例程失败。请问是什么原因?
这个文件是nVidia系列显卡驱动的文件。
有可能它们已经被病毒感染或已丢失,建议先查毒试试。
顺便检查一下显卡驱动的安装文件(如已损坏可以到驱动之家去下载)
在确认系统干净无毒的情况下,卸载显卡-->重启-->安装驱动-->重启,应该可以解决问题。
另外,装完驱动后,启动项目中关于nVidia驱动的项目其实都可以屏蔽不让它随电脑启动,一般不会有什么影响动态链接库(DLL)初始化程序失败,该怎么办?
第一步,我先从简单的调用出发,定义了一个简单的函数,该函数仅仅实现一个整数加法求和:
LIBEXPORT_API int mySum(int a,int b){ return a+b;}
C# 导入定义:
public class RefComm
{
[DllImport("LibEncrypt.dll",
EntryPoint=" mySum ",
CharSet=CharSet.Auto,CallingConvention=CallingConvention.StdCall)]
public static extern int mySum (int a,int b);
}
在C#中调用测试:
int iSum = RefComm.mySum(,);
运行查看结果iSum为5,调用正确。
第一步试验完成,说明在C#中能够调用自定义的动态链接库函数。
第二步,我定义了字符串操作的函数(简单起见,还是采用前面的函数名),返回结果为字符串:
LIBEXPORT_API char *mySum(char *a,char *b){sprintf(b,"%s",a); return a;}
C# 导入定义:
public class RefComm
{
[DllImport("LibEncrypt.dll",
EntryPoint=" mySum ",
CharSet=CharSet.Auto,
CallingConvention=CallingConvention.StdCall)]
public static extern string mySum (string a, string b);
}
在C#中调用测试:
string strDest="";
string strTmp= RefComm.mySum("45", strDest);
运行查看结果 strTmp 为"45",但是strDest为空。
我修改动态链接库实现,返回结果为串b:
LIBEXPORT_API char *mySum(char *a,char *b){sprintf(b,"%s",a) return b;}
修改 C# 导入定义,将串b修改为ref方式:
public class RefComm
{
[DllImport("LibEncrypt.dll",
EntryPoint=" mySum ",
CharSet=CharSet.Auto,CallingConvention=CallingConvention.StdCall)]
public static extern string mySum (string a, ref string b);
}
在C#中再调用测试:
string strDest="";
string strTmp= RefComm.mySum("45", ref strDest);
运行查看结果 strTmp 和 strDest 均不对,含不可见字符。
再修改 C# 导入定义,将CharSet从Auto修改为Ansi:
public class RefComm
{
[DllImport("LibEncrypt.dll",
EntryPoint=" mySum ",
CharSet=CharSet.Ansi,CallingConvention=CallingConvention.StdCall)]
public static extern string mySum (string a, string b);
}
在C#中再调用测试:
string strDest="";
string strTmp= RefComm. mySum("45", ref strDest);
运行查看结果 strTmp 为"45",但是串 strDest 没有赋值。
第二步实现函数返回串,但是在函数出口参数中没能进行输出。
再次修改 C# 导入定义,将串b修改为引用(ref):
public class RefComm
{
[DllImport("LibEncrypt.dll",
EntryPoint=" mySum ",
CharSet=CharSet.Ansi,CallingConvention=CallingConvention.StdCall)]
public static extern string mySum (string a, ref string b);
}
运行时调用失败,不能继续执行。
第三步,修改动态链接库实现,将b修改为双重指针:
LIBEXPORT_API char *mySum(char *a,char **b){sprintf((*b),"%s",a); return *b;}
C#导入定义:
public class RefComm
{
[DllImport("LibEncrypt.dll",
EntryPoint=" mySum ",
CharSet=CharSet.Ansi,CallingConvention=CallingConvention.StdCall)]
public static extern string mySum (string a, ref string b);
}
在C#中调用测试:
string strDest="";
string strTmp= RefComm. mySum("45", ref strDest);
运行查看结果 strTmp 和 strDest 均为"45",调用正确。
第三步实现了函数出口参数正确输出结果。
第四步,修改动态链接库实现,实现整数参数的输出:
LIBEXPORT_API int mySum(int a,int b,int *c){ *c=a+b; return *c;}
C#导入的定义:
public class RefComm
{
[DllImport("LibEncrypt.dll",
EntryPoint=" mySum ",
CharSet=CharSet.Ansi,CallingConvention=CallingConvention.StdCall)]
public static extern int mySum (int a, int b,ref int c);
}
在C#中调用测试:
int c=0;
int iSum= RefComm. mySum(,, ref c);
运行查看结果iSum 和c均为5,调用正确。
经过以上几个步骤的试验,基本掌握了如何定义动态库函数以及如何在 C# 定义导入,有此基础,很快我实现了变长加密函数在 C# 中的调用,至此目标实现。
三、结论
在 C# 中调用 C++ 编写的动态链接库函数,如果需要出口参数输出,则需要使用指针,对于字符串,则需要使用双重指针,对于 C# 的导入定义,则需要使用引用(ref)定义。
对于函数返回值,C# 导入定义和 C++ 动态库函数声明定义需要保持一致,否则会出现函数调用失败。
定义导入时,一定注意 CharSet 和 CallingConvention 参数,否则导致调用失败或结果异常。
运行时,动态链接库放在 C# 程序的目录下即可,我这里是一个 C# 的动态链接库,两个动态链接库就在同一个目录下运行。
动态链接库(DLL)初始化例程失败是怎么回事
是由于envapt.dll出现了问题知,
解决道方法:在这个目录下c:documents and settingsadministratorapplication datamicrosoft sharedofficesh找到版envapt.dll、envaptup.dll这两个文件并删权除之QQ空间进不去动态链接库(DLL)初始化例程失败。
依次选择“开始→运行”,在“运行”对话框中输入“regsvr32 actxprxy.dll”命令,单击“确定”按钮,这时会弹出一个信息对话框,提示“actxprxy.dll中的DllRegisterServer成功”,单击“确定”按钮,然后再在“运行”对话框中输入“regsvr32 shdocvw.dll”命令,单击“确定”按钮,重新启动计算机后IE就被修复了。
另外可升级你的杀毒软件,在安全模式下对你的系统作一次全面的扫描!!!
酷番云怎么样?酷番云就不讲太多了,介绍过很多次,老牌商家完事,最近有不少小伙伴,一直问我台湾VPS,比较难找好的商家,台湾VPS本来就比较少,也介绍了不少商家,线路都不是很好,有些需求支持Windows是比较少的,这里我们就给大家测评下 酷番云的台湾VPS,支持多个版本Linux和Windows操作系统,提供了CN2线路,并且还是原生IP,更惊喜的是提供的是无限流量。有需求的可以试试。可以看到回程...
wordpress公司网站模板,wordpresss简洁风格的高级通用自适应网站效果,完美自适应支持多终端移动屏幕设备功能,高级可视化后台自定义管理模块+规范高效的搜索优化。wordpress公司网站模板采用标准的HTML5+CSS3语言开发,兼容当下的各种主流浏览器: IE 6+(以及类似360、遨游等基于IE内核的)、Firefox、Google Chrome、Safari、Opera等;同时...
NameCheap商家如今发布促销活动也是有不小套路的,比如会在提前一周+的时间告诉你他们未来的活,比如这次2021年的首次活动就有在一周之前看到,但是这不等到他们中午一点左右的时候才有正式开始,而且我确实是有需要注册域名,等着看看是否有真的折扣,但是实际上.COM域名力度也就一般需要51元左右,其他地方也就55元左右。当然,这次新年的首次活动不管如何肯定是比平时便宜一点点的。有新注册域名、企业域...
动态链接库初始化例程失败为你推荐
重庆干部网络学院重庆信息技术职业学院showwindowvfp中菜单生成不能运行,提示说要把showwindow属性设为2,不懂求解md5值文件名后缀为MD5是什么文件。丁奇请全面剖析一下黑胡子丁奇这个人物。vipjrvipjr英语怎么样?靠谱吗?radius认证PPPoE有认证的功能,RADIUS也有验证功能,两者有区别么??相似图片搜索如何输入图片并且搜出最相似的图片?pci数据捕获和信号处理控制器大侠们,PCI数据捕获和信号处理控制器不能正常工作了要怎么解决啊,是不是要安装主板驱动啊?新手怎么制作表格我是初学者、电脑上怎么制作表格新手怎么制作表格怎么样在电脑上制作表格初学者
免费申请网站域名 中国万网域名 堪萨斯服务器 fastdomain 全球付 免备案空间 Hello图床 evssl lamp配置 什么是刀片服务器 isp服务商 1美金 免费网页申请 宏讯 视频服务器是什么 网站加速 卡巴斯基免费下载 ddos攻击 电脑显示屏不亮但是主机已开机 国外bt下载网站 更多