Python 3.6
にを使用するだけで、クリップボードに保存されているテキストを取得しようとしています。私はStackとGitHubで見つけた多くのソリューションをテストしましたが、Python 2
からPython 3.4
までしか動作しません。ctypesを使用してWindowsのクリップボードからテキストを読み取る
は、これはあなたがほとんどどこでも見つけることができますコードです:
from ctypes import *
def get_clipboard_text():
text = ""
if windll.user32.OpenClipboard(c_int(0)):
h_clip_mem = windll.user32.GetClipboardData(1)
windll.kernel32.GlobalLock.restype = c_char_p
text = windll.kernel32.GlobalLock(c_int(h_clip_mem))
windll.kernel32.GlobalUnlock(c_int(h_clip_mem))
windll.user32.CloseClipboard()
return text
私はPython 3.4
でそれをテストしました。それは正常に機能し、クリップボードにテキストを返しました。しかし、Python 3.6
で同じスクリプトを実行すると、常にNone
が返されます。これまでのところPython 3.6
の解決策が見つかりませんでした。
とC
についてはあまり知らないので誰かが私を助けてくれるのだろうかと思っています。
使用したインポートを含めることができますか?現在、コードは多くの 'NameError'を投げます。 – MSeifert
申し訳ありませんが、インポートが追加されました。 – chrizator