我嘗試這樣做:如何拼湊SHGetFileInfo(c#)的unicode版本?
public struct SHFILEINFOW
{
public IntPtr hIcon;
public int iIcon;
public uint dwAttributes;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260 * 2)]
public string szDisplayName;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 80 * 2)]
public string szTypeName;
}
[DllImport("shell32.dll")]
public static extern IntPtr SHGetFileInfoW(IntPtr pIDL, uint dwFileAttributes, out SHFILEINFOW psfi, uint cbFileInfo, SHGFI uFlags);
String DisplayName = shInfoW.szDisplayName;
但是DisplayName的僅包含所述第一字符
由於某些原因,http://www.pinvoke.net/default.aspx/shell32/SHGetFileInfo.html不適合您嗎? –
我需要考慮實際問題;不過,我會明確地添加一個StructLayout屬性來使結構佈局順序。 – Markus
SHGetFileInfo返回?????????對於名爲เอาขึ้นมามา้ม้ายย – Irwan