在 2013年11月8日星期五UTC+8下午5时47分43秒,Tim Golden写道:
> On 08/11/2013 03:30, iMath wrote:
> 
> > 
> 
> > When running the following code on WinXP , all is fine ,
> 
> > --------------------------------------------------------------
> 
> > from win32com.shell import shell
> 
> > 
> 
> > def launch_file_explorer(path, files):
> 
> > 
> 
> >     folder_pidl = shell.SHILCreateFromPath(path,0)[0]
> 
> >     desktop = shell.SHGetDesktopFolder()
> 
> >     shell_folder = desktop.BindToObject(folder_pidl, 
> > None,shell.IID_IShellFolder)
> 
> >     name_to_item_mapping = dict([(desktop.GetDisplayNameOf(item, 0), item) 
> > for item in shell_folder])
> 
> >     to_show = []
> 
> >     for file in files:
> 
> >         if file not in name_to_item_mapping:
> 
> >             raise Exception('File: "{}" not found in "{}"'.format(file, 
> > path))
> 
> >         to_show.append(name_to_item_mapping[file])
> 
> >     shell.SHOpenFolderAndSelectItems(folder_pidl, to_show, 0)
> 
> > import os
> 
> > 
> 
> > 
> 
> > p=r'E:\aa'
> 
> > print(os.listdir(p))
> 
> > launch_file_explorer(p, os.listdir(p))
> 
> 
> 
> 
> 
> Did you mean to call .GetDisplayNameOf against the desktop folder? I
> 
> would have thought you wanted shell_folder.GetDisplayNameOf(item, 0).
> 
> 
> 
> TJG

I mainly want to use shell.SHOpenFolderAndSelectItems()
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to