【问题标题】:Finding the active window using python [duplicate]使用python查找活动窗口[重复]
【发布时间】:2017-04-22 18:38:03
【问题描述】:

我一直在尝试创建一个程序来识别我计算机上的活动程序。

我正在 python 上编写此代码。在windows电脑上。 我不需要 PID 我只需要正在运行的程序的名称。 当我说活动时,我的意思是用户当前正在使用的程序。

我最终将能够获取活动程序并使用它打开它

import os
os.startfile("C:\Program Files (x86)\Skype\Phone\Skype.exe") #skype for example

【问题讨论】:

  • 您是否尝试过搜索“Python 列表进程”之类的内容?然后你只需找到名为“skype.exe”的那个
  • 进程列表给了我所有正在运行的程序。我只需要一个程序名称,不想手动输入名称找到它
  • 我刚刚在 spyder 的 windows 计算机上运行了这段代码,我得到了输出 "Active window: Spyder (Python 3.6)" -- stackoverflow.com/a/36419702/2601293

标签: python window python-os


【解决方案1】:

如果要查找活动窗口,可以在 windows 上使用win32gui (find it in SourceForge):

import win32gui
window = win32gui.GetForegroundWindow()

ctypes:

pid = ctypes.wintypes.DWORD()
active = ctypes.windll.user32.GetForegroundWindow()
active_window = ctypes.windll.user32.GetWindowThreadProcessId(active,ctypes.byref(pid)) 

【讨论】:

  • 试试这个:ctypes.windll.user32.GetForegroundWindow()
  • 当我单独使用该代码时,它返回一个数字,该数字是多少以及我将如何获得文件名
  • 我可以使用win32gui,但我得到的号码是什么,那是什么以及我如何获得名字
  • @JonathanKirshner 阅读:stackoverflow.com/questions/37501191/…
  • 对不起,我还是不明白,如何获得程序名称?
猜你喜欢
  • 2010-09-27
  • 2017-04-28
  • 2012-05-03
  • 2014-12-08
  • 1970-01-01
  • 2014-03-21
  • 2011-06-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多