写一段Python程序,有两个进程,第一个正在执行每0.05秒控制键盘输出一次空格、每0.05秒控制鼠标左键点击一下的功能,另一个当按下k键就启动第一个进程,看下esc就终止自己和另一个进程的运行
时间: 2024-12-06 11:20:04 浏览: 19
在Python中,我们可以使用`multiprocessing`库创建两个独立的进程,并利用`keyboard`和`pyautogui`库来模拟键盘输入和鼠标操作。以下是一个简单的示例:
```python
import multiprocessing
import time
from pynput.keyboard import Controller
import pyautogui
# 创建键盘和鼠标对象
keyboard = Controller()
mouse = pyautogui.Controller()
def process_one():
while True:
keyboard.press(' ')
keyboard.release(' ')
mouse.click(button='left')
time.sleep(0.05) # 每0.05秒执行一次动作
def on_key_press(key):
if key.char == 'k':
print('Starting Process One...')
proc = multiprocessing.Process(target=process_one)
proc.start()
elif key.char == 'e':
print('Terminating Both Processes...')
break
with multiprocessing Listener(on_press=on_key_press) as listener:
listener.join()
```
在这个程序中,我们首先导入所需的库,然后定义两个函数:`process_one`处理键盘和鼠标操作,而`on_key_press`函数监听键盘按键事件。当检测到键`k`按下时,启动`process_one`进程;如果检测到键`e`(通常是Esc),则终止两个进程。
注意:`pynput.keyboard`需要管理员权限才能运行,因为它涉及系统级别的键盘访问。此外,频繁的鼠标点击可能会对操作系统造成负担,请谨慎使用。
阅读全文