Mailing List Archive

Writing to clipboard in Python 3.11
Recently I switched from Python 3.8.3 to Python 3.11.4.  A strange
problem appeared which was not there before:
I am using the win32clipboard backage (part of pywin32), and when I use
SetClipboardData() to write text which consists ENTIRELY OF DIGITS to
the clipboard, I either get an error (not always the same error message)
or a program crash.  The problem does not appear if I use
SetClipboardText() instead.
Sample program:

from win32clipboard import *
OpenClipboard()
SetClipboardData(CF_UNICODETEXT, "A")
SetClipboardData(CF_UNICODETEXT, "A0")
SetClipboardData(CF_UNICODETEXT, "0A")
SetClipboardText("0", CF_UNICODETEXT)
print("OK so far")
SetClipboardData(CF_UNICODETEXT, "0")
CloseClipboard()

Sample output:

OK so far
Traceback (most recent call last):
  File "R:\W.PY", line 8, in <module>
    SetClipboardData(CF_UNICODETEXT, "0")
pywintypes.error: (0, 'SetClipboardData', 'No error message is available')

I can get round the problem by using SetClipboardText().  But can anyone
shed light on this?
Best wishes
Rob Cliffe
--
https://mail.python.org/mailman/listinfo/python-list
Re: Writing to clipboard in Python 3.11 [ In reply to ]
On 2023-11-06 00:51, Rob Cliffe via Python-list wrote:
> Recently I switched from Python 3.8.3 to Python 3.11.4.  A strange
> problem appeared which was not there before:
> I am using the win32clipboard backage (part of pywin32), and when I use
> SetClipboardData() to write text which consists ENTIRELY OF DIGITS to
> the clipboard, I either get an error (not always the same error message)
> or a program crash.  The problem does not appear if I use
> SetClipboardText() instead.
> Sample program:
>
> from win32clipboard import *
> OpenClipboard()
> SetClipboardData(CF_UNICODETEXT, "A")
> SetClipboardData(CF_UNICODETEXT, "A0")
> SetClipboardData(CF_UNICODETEXT, "0A")
> SetClipboardText("0", CF_UNICODETEXT)
> print("OK so far")
> SetClipboardData(CF_UNICODETEXT, "0")
> CloseClipboard()
>
> Sample output:
>
> OK so far
> Traceback (most recent call last):
>   File "R:\W.PY", line 8, in <module>
>     SetClipboardData(CF_UNICODETEXT, "0")
> pywintypes.error: (0, 'SetClipboardData', 'No error message is available')
>
> I can get round the problem by using SetClipboardText().  But can anyone
> shed light on this?

It also happens in Python 3.10, but not Python 3.9.

--
https://mail.python.org/mailman/listinfo/python-list
Re: Writing to clipboard in Python 3.11 [ In reply to ]
On 11/5/2023 7:51 PM, Rob Cliffe via Python-list wrote:
> Recently I switched from Python 3.8.3 to Python 3.11.4.  A strange
> problem appeared which was not there before:
> I am using the win32clipboard backage (part of pywin32), and when I use
> SetClipboardData() to write text which consists ENTIRELY OF DIGITS to
> the clipboard, I either get an error (not always the same error message)
> or a program crash.  The problem does not appear if I use
> SetClipboardText() instead.
> Sample program:
>
> from win32clipboard import *
> OpenClipboard()
> SetClipboardData(CF_UNICODETEXT, "A")
> SetClipboardData(CF_UNICODETEXT, "A0")
> SetClipboardData(CF_UNICODETEXT, "0A")
> SetClipboardText("0", CF_UNICODETEXT)
> print("OK so far")
> SetClipboardData(CF_UNICODETEXT, "0")
> CloseClipboard()
>
> Sample output:
>
> OK so far
> Traceback (most recent call last):
>   File "R:\W.PY", line 8, in <module>
>     SetClipboardData(CF_UNICODETEXT, "0")
> pywintypes.error: (0, 'SetClipboardData', 'No error message is available')
>
> I can get round the problem by using SetClipboardText().  But can anyone
> shed light on this?

No, but I use pyperclip. It's cross platform. Maybe it doesn't have
this problem, though I don't know for sure.

--
https://mail.python.org/mailman/listinfo/python-list
RE: Writing to clipboard in Python 3.11 [ In reply to ]
It doesn't work in python 3.12.0

-----Original Message-----
From: Python-list <python-list-bounces+jschwar=sbcglobal.net@python.org> On Behalf Of Thomas Passin via Python-list
Sent: Tuesday, November 7, 2023 12:08 PM
To: python-list@python.org
Subject: Re: Writing to clipboard in Python 3.11

On 11/5/2023 7:51 PM, Rob Cliffe via Python-list wrote:
> Recently I switched from Python 3.8.3 to Python 3.11.4. A strange
> problem appeared which was not there before:
> I am using the win32clipboard backage (part of pywin32), and when I
> use
> SetClipboardData() to write text which consists ENTIRELY OF DIGITS to
> the clipboard, I either get an error (not always the same error
> message) or a program crash. The problem does not appear if I use
> SetClipboardText() instead.
> Sample program:
>
> from win32clipboard import *
> OpenClipboard()
> SetClipboardData(CF_UNICODETEXT, "A")
> SetClipboardData(CF_UNICODETEXT, "A0")
> SetClipboardData(CF_UNICODETEXT, "0A") SetClipboardText("0",
> CF_UNICODETEXT) print("OK so far") SetClipboardData(CF_UNICODETEXT,
> "0")
> CloseClipboard()
>
> Sample output:
>
> OK so far
> Traceback (most recent call last):
> File "R:\W.PY", line 8, in <module>
> SetClipboardData(CF_UNICODETEXT, "0")
> pywintypes.error: (0, 'SetClipboardData', 'No error message is
> available')
>
> I can get round the problem by using SetClipboardText(). But can
> anyone shed light on this?

No, but I use pyperclip. It's cross platform. Maybe it doesn't have this problem, though I don't know for sure.

--
https://mail.python.org/mailman/listinfo/python-list

--
https://mail.python.org/mailman/listinfo/python-list