欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

python模仿windows文件管理_python – 在Windows中显示文件的资源管理器属性对话框...

发布时间:2024/4/18 python 41 豆豆
生活随笔 收集整理的这篇文章主要介绍了 python模仿windows文件管理_python – 在Windows中显示文件的资源管理器属性对话框... 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

这样做的方法是调用Windows

ShellExecuteEx() API传递属性动词.有各种高级Python包装器,但我没有成功地使用属性动词.相反,我会使用好老的ctypes.

import time

import ctypes

import ctypes.wintypes

SEE_MASK_NOCLOSEPROCESS = 0x00000040

SEE_MASK_INVOKEIDLIST = 0x0000000C

class SHELLEXECUTEINFO(ctypes.Structure):

_fields_ = (

("cbSize",ctypes.wintypes.DWORD),

("fMask",ctypes.c_ulong),

("hwnd",ctypes.wintypes.HANDLE),

("lpVerb",ctypes.c_char_p),

("lpFile",ctypes.c_char_p),

("lpParameters",ctypes.c_char_p),

("lpDirectory",ctypes.c_char_p),

("nShow",ctypes.c_int),

("hInstApp",ctypes.wintypes.HINSTANCE),

("lpIDList",ctypes.c_void_p),

("lpClass",ctypes.c_char_p),

("hKeyClass",ctypes.wintypes.HKEY),

("dwHotKey",ctypes.wintypes.DWORD),

("hIconOrMonitor",ctypes.wintypes.HANDLE),

("hProcess",ctypes.wintypes.HANDLE),

)

ShellExecuteEx = ctypes.windll.shell32.ShellExecuteEx

ShellExecuteEx.restype = ctypes.wintypes.BOOL

sei = SHELLEXECUTEINFO()

sei.cbSize = ctypes.sizeof(sei)

sei.fMask = SEE_MASK_NOCLOSEPROCESS | SEE_MASK_INVOKEIDLIST

sei.lpVerb = "properties"

sei.lpFile = "C:\\Desktop\\test.txt"

sei.nShow = 1

ShellExecuteEx(ctypes.byref(sei))

time.sleep(5)

我调用sleep的原因是属性对话框在调用进程中显示为一个窗口.如果Python可执行文件在调用ShellExecuteEx之后立即终止,则没有任何内容可以为对话框提供服务而且它不会显示.

总结

以上是生活随笔为你收集整理的python模仿windows文件管理_python – 在Windows中显示文件的资源管理器属性对话框...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。