Python 运行程序时能把焦点移至别的软件上吗?如果可以,用什么函数呢
最近我入手了OBS这款功能强大的录屏软件,可是他和其他软件不同,录制时屏幕上方没有快捷栏,需要在OBS大大~的窗口上点击“开始录制”,或者用快捷键(我脑子不够用,记不住快捷键)才行,于是我就开始用Python tkinter做一个简单的快捷窗口,初始版本代码如下:# -*- coding: utf-8 -*-
"""
Created on Wed Dec 21 12:41:57 2022
@author: sky
"""
import pyautogui as pag
import tkinter as tk
import time as t
root = tk.Tk()
theLabel = tk.Label(root, text='OBS辅助器')
theLabel.pack()
def start():
t.sleep(3)
pag.hotkey('ctrl', 't')
thestartButton = tk.Button(root, text='3秒后开始/停止', command=start)
thestartButton.pack()
root.mainloop()
我的思路是在窗口上设立不同的按键,然后让pyautogui进行快捷键操作
但事与愿违,点击后没效果,或者说,OBS可能无法识别程序所发起的快捷键(因为我自己快捷键时是可以的)
点击后必须在我限制的
t.sleep(3)
3秒内把焦点移至OBS主程序上,才有效,而我再OBS里设置的是酱的:
有什么方法能让我的OBS接收到程序发起的快捷键(怎么更改OBS设置或怎么更改代码),或者说,怎么在OBS窗口最小化时把焦点移到上面(用什么函数)?
程序完成后我会在另发帖发布源代码和OBS27.2.4 64bit windows的安装包
帖子是悬赏,最高值60鱼币,求大佬帮帮我 这录屏软件应该有相应的快捷键吧。。你要不再仔细看看说明。。
真的有必要自己再搞一个辅助?? 如果真的要搞,那你录屏时再加辅助的快捷键,就得是全局快捷键,pyautogui我记得是没有全局监控的(可以发送快捷键,但不能监控你是否按下)。 pynput或其他的库,才这功能。 所以ctrl+t是做什么的 suchocolate 发表于 2023-1-4 20:57
所以ctrl+t是做什么的
ctrl+t是我设置的开始和停止的快捷键 https://wenku.baidu.com/view/083cb0840329bd64783e0912a216147916117e45.html?_wkts_=1672844198870&bdQuery=delphi+%E5%85%A8%E5%B1%80%E5%BF%AB%E6%8D%B7%E9%94%AE PYAUTOGUI实际上是一种模拟
也就是说你需要把obs 调整到手工状态(或者说前端窗口) 这样才可以,如果obs处理后台模式,py控制不了的
要不然你把obs 发出来 唉,我还是动动脑子把快捷键记住吧……
页:
[1]