1、进入控制面板-卸载程序
2、卸载“AMD Catalyst Install Manager",选中”卸载所有组件“,完成并重启电脑
3、重新安装AMD显卡驱动,选择自定义
4、在组件选择窗口中,去掉”Accelerated Video Transcoding “,即:加速视频转码技术,下一步到底,完成并重启
原因是资源管理器出现问题,重启即可。
1、右键点击桌面下方的”任务栏“空白区域,在d出的菜单栏选择“任务管理器”。
2、进入任务管理器界面,点击上方的“文件”,选择“新建任务”。
3、在d出的任务对话框输入 ”explorer.exe “ 命令,点击“确定”按钮,重新启动资源管理器。
4、“Load MMdriver application就不会停止工作了。
那是因为C++与C#中的数据类型不对应而照成的。你可以使用C#调用C++ DLL的导出函数,在你的C#中实现即可。C++的导出函数一般在SDK中会详细说明,你对着改抄就可以了。下面给点例子:例如:C++的导出函数为:long WINAPI LoadDRV(void)你在C#中使用对应的方式声明这个函数的对应函数[DllImport("Tc08a32.dll", EntryPoint = "LoadDRV", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]public static extern Int32 LoadDRV()DllImport的语法你可以在MSDN上面找到详细的说明,这里对给出的示例做一下简单的说明括号中的第一个String参数是表明你要导入的DLL的目标路径,可以是别人C++导出函数的路径EntryPoint设置后,可以主动的搜索入口函数,可要可不要。CharSet是设置你接收时的字符类型的,这个很重要,某些时候,通过改变这个值的设置可以得到你的理想值。CallingConvention是指的一个导出标准,一般在C++的SDK中也可以看到这种导出标准,是什么,就对应的用什么。 注意使用时的类型转换,因为变量的类型不同,则使用不同的对应关系,这个网上也有很多的介绍,很简单。唯一需要注意的是一些指针类型,因为C#为安全机制没有指针一般的,C++中的 Char * 在C#中可以使用一个String来传值如果是LPSTR的话,那就需要使用一个char[]来实现,具体char[]有多长,你要根据你的SDK中的说明具体实现。实现完你需要的函数之后,你即可在你的项目中调用了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)