本文整理汇总了C#中NativeMethods.GetDisplayNameOf方法的典型用法代码示例。如果您正苦于以下问题:C# NativeMethods.GetDisplayNameOf方法的具体用法?C# NativeMethods.GetDisplayNameOf怎么用?C# NativeMethods.GetDisplayNameOf使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NativeMethods
的用法示例。
在下文中一共展示了NativeMethods.GetDisplayNameOf方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetDisplayName
internal string GetDisplayName(NativeMethods.IShellFolder shellFolder, IntPtr pidl)
{
string text = string.Empty;
IntPtr strr = Marshal.AllocCoTaskMem(NativeMethods.MAX_PATH * 2 + 4);
Marshal.WriteInt32(strr, 0, 0);
StringBuilder buf = new StringBuilder(NativeMethods.MAX_PATH);
int level;
bool isMyCompChild = IsParentFolder(m_myCompPidl, pidl, out level);
NativeMethods.SHGNO flags = NativeMethods.SHGNO.SHGDN_INFOLDER;
if ((isMyCompChild && level >= 3) || (!isMyCompChild && level >= 2))
flags |= NativeMethods.SHGNO.SHGDN_FORADDRESSBAR |
NativeMethods.SHGNO.SHGDN_FORPARSING;
if (shellFolder.GetDisplayNameOf(
pidl,
flags,
strr) == NativeMethods.S_OK)
{
NativeMethods.Shlwapi.StrRetToBuf(strr, pidl, buf, NativeMethods.MAX_PATH);
text = buf.ToString();
if (text.Contains("\\"))
{
string[] path = text.Split('\\');
text = path[path.Length - 1];
}
}
Marshal.FreeCoTaskMem(strr);
return text;
}