diff --git a/send2trash/plat_win_modern.py b/send2trash/plat_win_modern.py index ec00934..1569911 100644 --- a/send2trash/plat_win_modern.py +++ b/send2trash/plat_win_modern.py @@ -26,6 +26,8 @@ def send2trash(paths): paths = [op.abspath(path) if not op.isabs(path) else path for path in paths] # remove the leading \\?\ if present paths = [path[4:] if path.startswith("\\\\?\\") else path for path in paths] + # Need to initialize the com before using + pythoncom.CoInitialize() # create instance of file operation object fileop = pythoncom.CoCreateInstance( shell.CLSID_FileOperation, None, pythoncom.CLSCTX_ALL, shell.IID_IFileOperation, @@ -65,3 +67,6 @@ def send2trash(paths): # convert to standard OS error, allows other code to get a # normal errno raise OSError(None, error.strerror, path, error.hresult) + finally: + # Need to make sure we call this once fore every init + pythoncom.CoUninitialize()