我有一个implementation CommonDialog
,允许用户多选文件和文件夹。只要未检查资源管理器设置“隐藏已知文件类型的扩展名”(默认选中),该类就可以正常工作。如果已选中(已知扩展名不再是文件名的一部分),则它不起作用,因为我直接从列表视图项中获取所选文件和文件夹名称(LVM_GETITEMTEXT
)。
我找到了一个描述C ++解决方案的MSDN magazine article。我们的想法是从包含完整文件名的所选项目中获取支持PIDL对象,包括独立于资源管理器设置的扩展名。
知道如何将其移植到C#?
答案 0 :(得分:-1)
获取pidl的代码..
lvitem lvi;
lvi.mask = lvif_param; //0x0004;
lvi.iItem = 1;// the index of item u want to get
sendmessage(listviewhandle,LVM_GETITEM,0,ref lvi);
//Now u can get pidl from lvi.lParam member.