C#和.NET FOLDERID

时间:2008-10-11 07:24:48

标签: c# .net winapi

如何使用Windows Vista的FOLDERID API检索“已知文件夹”(如系统或Windows)的文件路径?我见过一些API,但我不知道如何正确导入它们。是的,我知道这是一个非常新手的问题,但我花了半个小时的谷歌搜索,无法找到答案;我也很感激能够在将来找到这样的问题的答案。 : - )

编辑1:所以显然相关函数包含在DLL中,而不是任何可导入的“正确”C#类/库。 pinvoke语法可能有效,虽然我希望有一个OOP接口,而不是一个函数。将测试。

编辑2:所以我对C#很新,不知道托管界面是什么。 System.Environment.GetFolderPath是完美的。

2 个答案:

答案 0 :(得分:10)

查看PInvoke SHGetKnownFolderPath

还有一个托管API: Environment.GetFolderPath 但它不包含所有文件夹。

答案 1 :(得分:1)

今天早上我读到了Vista Bridge。这可能有所帮助。

“你们中的许多人不了解Vista Bridge示例库,它可以做什么,甚至可以找到它。让我们从基础知识开始;即定义.Vista Bridge是一个包含托管包装器的示例库许多未在.NET Framework中公开的Windows Vista API。包装器包括常见的打开和保存文件对话框以及新的Vista高级任务对话框。那么,在哪里下载?有三种方法可以获取样本库。它是包含在用于Windows Vista Update的Windows SDK和用于Windows Server 2008和.Net Framework 3.5的较新Window SDK中;或者第三个选项是下载Vista Bridge示例库,该库是Windows SDK Cross Technology示例的一部分。建议下载适用于Windows Server 2008和.Net Framework 3.5的Windows SDK,但如果您没有网络带宽或只是想要样本,那么最后一个选项应该是最合适的。 ......“