Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从Outlook PST文件中删除“已删除邮件”文件夹_C#_Outlook_Outlook Addin_Pst - Fatal编程技术网

C# 如何从Outlook PST文件中删除“已删除邮件”文件夹

C# 如何从Outlook PST文件中删除“已删除邮件”文件夹,c#,outlook,outlook-addin,pst,C#,Outlook,Outlook Addin,Pst,嗨, 我用C代码创建了一个PST文件。我的示例代码在这里 string pstlocation = @"C:\Users\{USER}\Desktop\PST Files\Test.pst"; Outlook._Application OutlookObject = this.Application; Outlook.NameSpace outlookNs = null; Outlook.Folder objRootFolder = null; outlookNs = Application.G

嗨, 我用C代码创建了一个PST文件。我的示例代码在这里

string pstlocation = @"C:\Users\{USER}\Desktop\PST Files\Test.pst";
Outlook._Application OutlookObject = this.Application;
Outlook.NameSpace outlookNs = null;
Outlook.Folder objRootFolder = null;
outlookNs = Application.GetNamespace("MAPI");    

outlookNs.AddStore(pstlocation);
objRootFolder = outlookNs.Folders.GetLast() as Folder;    
我的PST文件已在outlook 2013中成功添加。当我试图删除已删除的项目时,未被删除,这会给我们一个错误

foreach (Folder objFolder in objRootFolder.Folders)
    {
            objFolder.Delete();
           //It gives an error.
    }
错误:OutlookAddInpStettest.dll中出现“System.Runtime.InteropServices.COMException”类型的异常,但未在用户代码中处理

其他信息:无法删除此文件夹。右键单击该文件夹,然后单击“属性”检查您对该文件夹的权限。请与文件夹所有者或管理员联系以更改您的权限

===================================================================


因此,如何从PST文件中删除已删除的项目。

默认情况下,您无法删除Outlook使用的特殊文件夹。但是,有几个MS Exchange实用程序/客户端将允许它;Outlook将在启动时重新创建它们

参考:

  • 收件箱
  • 草稿
  • 发送的项目
  • 删除的项目

在完成lost of research后,我知道使用PropertyAccessor,我们可以隐藏此文件夹,但无法删除此默认文件夹。要隐藏此文件夹,必须将此属性设置为true。