C# 原因是出现以下错误: 80070005 拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))。]

对office插件有依赖的项目,并且重新弄office以后出现的问题

问题:检索 COM 类工厂中 CLSID 为 {XXXXXXXXXXXXX} 的组件失败,原因是出现以下80070005拒绝访问。 (异常来自 HRESUL80070005 (E_ACCESSDENIED))。

出现原因:

由于先前安装了office2019专业增强版到期了,于是在网上在密钥找破解,破解了,结果就出现这个问题;

检索 COM 类工厂中 CLSID 为 {000209FF-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80070005 拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))。

win +R  输入 dcomcnfg.exe回车

组件服务--》计算机--》我的电脑--》DCOM配置--》Microsoft Excel Application  右击属性对话框  标识:交互式用户    安全   三个都编辑好全部允许权限   

再win+R输入 comexp.msc  再次配置   

最后

修改IIS的应用程序池,

选择你的项目的应用程序池,右键点击高级设置,标识改为:LocalSystem 或NetworkServer;


WMPLib.dll是一个Windows Media Player组件,它允许C#程序通过接口使用Media Player控制功能,包括播放音频文件,如MP3格式。在C#中利用WMPLib.dll可以创建MediaPlayer对象,然后使用它的Play()、Pause()、Stop()等方法来操作音乐播放。 以下是一个简单的示例,展示如何使用WMPLib.dll播放MP3文件: ```csharp using System; using System.Runtime.InteropServices; using Microsoft.Win32; [Guid("6574F04D-EB8F-43b4-BB2E-D3DFD12999C0")] [ClassInterface(ClassInterfaceType.None)] public class MediaPlayerWrapper { [DllImport("wmplayerctl.ocx", CharSet = CharSet.Auto)] private static extern int Play(string fileName); public void PlayMP3(string filePath) { if (File.Exists(filePath)) { int result = Play(filePath); if (result == 0) // 成功播放 Console.WriteLine($"开始播放 {filePath}"); else Console.WriteLine($"播放失败:{GetLastErrorMessage()}"); } else Console.WriteLine($"文件不存在:{filePath}"); } // 获取错误信息辅助函数 private string GetLastErrorMessage() { HResult hr = Marshal.GetLastWin32Error(); return HResultHelper.MapHResult(hr); } } private static class HResultHelper { private const string E_FAIL = "未知错误"; // 其他映射规则... public static string MapHResult(int hr) { switch ((int)hr) { case unchecked((int)0x80070005): // E_ACCESSDENIED return "访问被拒绝"; case unchecked((int)0x8007000b): // E_INVALIDARG return "无效参数"; default: return E_FAIL; } } } class Program { static void Main(string[] args) { try { MediaPlayerWrapper player = new MediaPlayerWrapper(); player.PlayMP3("path_to_your_mp3_file.mp3"); } catch (Exception ex) { Console.WriteLine("发生异常:" + ex.Message); } } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值