【发布时间】:2021-01-20 01:42:34
【问题描述】:
我目前正在尝试编写一个简短的脚本,该脚本将在用户观看且无法干预时进行 rickroll(打开 youtube 链接)。
我已经设法逐个字母地慢慢打开插入链接,现在正试图阻止用户输入。
我曾尝试使用ctypes 导入来阻止所有输入,运行脚本然后再次解除阻止,但它不会阻止输入。我刚刚收到我的 RuntimeError 消息。
我该如何解决它,所以输入被阻止?
提前致谢!
代码如下:
import subprocess
import pyautogui
import time
import ctypes
from ctypes import wintypes
BlockInput = ctypes.windll.user32.BlockInput
BlockInput.argtypes = [wintypes.BOOL]
BlockInput.restype = wintypes.BOOL
blocked = BlockInput(True)
if blocked:
try:
subprocess.Popen(["C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",])
time.sleep(3)
pyautogui.write('www.youtube.com/watch?v=DLzxrzFCyOs', interval= 0.5)
pyautogui.hotkey('enter')
finally:
unblocked = BlockInput(False)
else:
raise RuntimeError('Input is already blocked by another thread')
【问题讨论】: