pywin32 programming error on Win7 with shell.SHGetDesktopFolder, desktop.BindToObject, desktop.GetDisplayNameOf
Tim Golden
mail at timgolden.me.uk
Fri Nov 8 04:47:43 EST 2013
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
More information about the Python-list
mailing list