2009-10-20 8 views
1

I téléchargé le code Windows API Pack pour Microsoft® .NET Framework de http://code.msdn.microsoft.com/WindowsAPICodePack/Release/ProjectReleases.aspx?ReleaseId=3077COMException lorsque vous utilisez le code de Windows API pack

erreur

En testant la solution sur VS 2008, je reçois une erreur dans la ligne

IKnownFolderManager knownFolderManager = (IKnownFolderManager)new KnownFolderManagerClass(); 
knownFolderManager.GetFolderIds(out folders, out count); 

détails ci-dessous,

System.Runtime.InteropServices.COMException was unhandled 
    Message="Retrieving the COM class factory for component with CLSID {4DF0C730-DF9D-4AE3-9153-AA6B82E9795A} failed due to the following error: 80040154." 
    Source="Microsoft.WindowsAPICodePack.Shell" 
    ErrorCode=-2147221164 
    StackTrace: 
     at Microsoft.WindowsAPICodePack.Shell.KnownFolders.GetAllFolders() in D:\WindowsAPICodePack\WindowsAPICodePack\Shell\KnownFolders\KnownFolders.cs:line 43 
     at Microsoft.WindowsAPICodePack.Shell.KnownFolders.get_All() in D:\WindowsAPICodePack\WindowsAPICodePack\Shell\KnownFolders\KnownFolders.cs:line 29 
     at Microsoft.WindowsAPICodePack.Samples.ExplorerBrowserTestForm..ctor() in D:\WindowsAPICodePack\Samples\ExplorerBrowser\CS\WinForms\ExplorerBrowserTestForm.cs:line 27 
     at Microsoft.WindowsAPICodePack.Samples.Program.Main() in D:\WindowsAPICodePack\Samples\ExplorerBrowser\CS\WinForms\Program.cs:line 18 
     at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args) 
     at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) 
     at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 
     at System.Threading.ThreadHelper.ThreadStart_Context(Object state) 
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 
     at System.Threading.ThreadHelper.ThreadStart() 
    InnerException: 

QUESTION

S'il vous plaît aider à résoudre cette erreur.

+2

Ce code d'erreur signifie que l'objet que vous avez demandé n'est pas enregistré sur le système. IKnownFolderManager est apparu à partir de Vista. Quelle est votre version de Windows? –

+0

merci beaucoup.J'ai Windows XP. – user182323

+0

Effectivement essayer de trouver si c'est possible d'utiliser Windows api et C# pour développer une application similaire à Windows Explorer [avec treeview, listview]. – user182323

Répondre

2

Ce code d'erreur signifie que l'objet que vous avez demandé n'est pas enregistré sur le système. IKnownFolderManager est apparu à partir de Vista.

Questions connexes