在python中 需要复制一个文件到粘贴板,在需要时再粘贴。而不是用系统 os.system() 函数直接复制文件粘贴到新目标。
import win32clipboard
from ctypes import *
class DROPFILES(Structure):
_fields_ = [
("pFiles", c_uint),
("x", c_long),
("y", c_long),
("fNC", c_int),
("fWide", c_bool),
]
def setClipboardFiles(paths):
files = ("\0".join(paths)).replace("/", "\\")
data = files.encode("U16")[2:]+b"\0\0"
win32clipboard.OpenClipboard()
try:
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardData(
win32clipboard.CF_HDROP, matedata+data)
finally:
win32clipboard.CloseClipboard()
def readClipboardFilePaths():
win32clipboard.OpenClipboard()
try:
return win32clipboard.GetClipboardData(win32clipboard.CF_HDROP)
finally:
win32clipboard.CloseClipboard()
pDropFiles = DROPFILES()
pDropFiles.pFiles = sizeof(DROPFILES)
pDropFiles.fWide = True
matedata = bytes(pDropFiles)
filename = [r"d:\a.pptx"]
setClipboardFiles(filename)
转自:https://www.cnblogs.com/szyicol/p/16377870.html