I'm trying to copy an EMF (Enhanced Metafile) file directly to the Windows clipboard using the win32clipboard
module on Python3.12. but I'm facing an issue where SetClipboardData
is throwing an "invalid handle" error. Here is the code I'm trying:
import win32clipboard
def copy_emf_to_clipboard(emf_file_path):
with open(emf_file_path, 'rb') as f:
emf_data = f.read()
try:
win32clipboard.OpenClipboard()
win32clipboard.EmptyClipboard()
win32clipboard.SetClipboardData(win32clipboard.CF_ENHMETAFILE, emf_data)
except Exception as e:
print(f"An error occurred: {e}")
finally:
win32clipboard.CloseClipboard()
copy_emf_to_clipboard('input.emf')
When executing this code, I get the following error:
An error occurred: (6, 'SetClipboardData', 'The handle is invalid.')
Could someone explain why this error is occurring and how to properly copy the EMF data to the clipboard? Are there any specific steps or clipboard formats that I need to follow when dealing with EMF files?