2017-04-22 109 views
1

我一直在試圖創建一個程序,它將識別出我的計算機上的活動程序是。使用python查找活動窗口

我在python上編寫這段代碼。在Windows電腦上。 我不需要PID我只需要程序運行的名稱。 當我說活躍的我的意思是當前正在使用的程序用戶。

我最終能採取積極的程序,並使用

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

您是否嘗試搜索「Python li st進程「?然後您只需找到名爲「skype.exe」的那個 –

+0

列表進程爲我提供了所有正在運行的程序。我只需要一個程序的名稱,我不想手動輸入名稱來找到它 –

+0

我只是在spyder上的windows計算機上運行此代碼,我得到了輸出「活動窗口:Spyder(Python 3.6)」 - http://stackoverflow.com/a/36419702/2601293 – 16num

回答

1

如果你想找到活動窗口打開它,您可以在Windows上使用win32guifind it in SourceForge):

import win32gui 
window = win32gui.GetForegroundWindow() 

與​​:

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

試試這個:ctypes.windll.user32.GetForegroundWindow() – RaminNietzsche

+0

當我使用自己的代碼,它返回一個數字,那是什麼數字,我將如何而不是得到一個文件名 –

+0

我能夠使用win32gui但仍然,我得到的號碼是什麼,那是什麼以及如何獲得名稱 –