2

我想打开一个在 Windows 上选择了指定项目的文件夹。我查阅了 Windows Shell Reference 并找到了适合这项工作的函数:SHOpenFolderAndSelectItems

但是,我找不到如何在 Python 中使用它的示例。有人知道我该怎么做吗?

我还有一个额外的要求:如果该文件夹已经打开,请不要再次打开它,只需激活它并选择文件。

4

2 回答 2

3

使用 PyWin32 你可以做这样的事情,默认情况下它应该只是激活并选择已经打开的文件:

from win32com.shell import shell, shellcon
import win32api

folder = win32api.GetTempPath()
folder_pidl=shell.SHILCreateFromPath(folder,0)[0]
desktop = shell.SHGetDesktopFolder()
shell_folder = desktop.BindToObject(folder_pidl, None, shell.IID_IShellFolder)
items = [item for item in shell_folder][:5]
## print (items)
shell.SHOpenFolderAndSelectItems(folder_pidl, items, 0)

http://mail.python.org/pipermail/python-win32/2012-September/012531.html

于 2013-04-25T06:37:09.787 回答
1

也许您可以尝试使用 subprocess.Popen 通过 Python 运行 shell 命令。查看此线程以获取更多信息:如何使用 subprocess popen Python

于 2013-04-19T16:37:31.323 回答