使用快捷方式启动脚本获取当前窗口

时间:2018-02-23 00:26:03

标签: python python-3.x pywin32

我的桌面上有一个标准的Windows快捷方式,它使用cmd来启动python脚本。我有一个密钥必须启动所述快捷方式(让我们说SHIFT + F7)。我希望我的脚本在按下HWND时获取当前窗口的win32guiSHIFT + F7窗口的id)。

我的问题是,当我按SHIFT + F7时,python脚本将成为当前窗口,因此找到 HWND。< / p>

我认为可能使用pythonw.exe代替python.exe会做某事,但问题仍然存在。

以下是快捷键代码:

C:\Windows\System32\cmd.exe /k "<path to pythonw.exe>" <path to script>

这是脚本本身:

from win32 import win32gui

cur_hwnd = win32gui.GetForegroundWindow()
text = win32gui.GetWindowText(cur_hwnd)

with open(r"<path to output file>", "w") as fp:
    fp.write(text)

我应该以不同的方式获取窗口ID?从技术上讲,在后台运行一个长时间运行的python脚本等待SHIFT + F7,然后记录当前的id,但我宁愿不这样做。

编辑1:

在schortcut中使用<path to pythonw.exe> <path to script>时,win32gui.GetForegroundWindow()找到的进程是一个带有空窗口文本的未知进程(有许多此类程序在运行,我不确定它们是什么)。

另外,为了澄清,SHIFT + F7组合在快捷方式的首选项窗口中设置。

0 个答案:

没有答案