J'entends dire que de plus en plus de gens travaillent à domicile, et beaucoup de gens s'inquiètent du fait que "travaillent-ils tous correctement à la maison?"
Je pense que c'est étrange d'être anxieux en premier lieu, mais je me demande aussi si certaines personnes auront des ennuis si leur patron devient anxieux.
Donc, j'ai pensé que si je pouvais collecter des informations sur les applications que j'utilise en temps réel tout en utilisant un ordinateur, je pourrais réduire un peu cette anxiété, alors j'ai envisagé une méthode.
Ici, je vais résumer la méthode pour "obtenir et afficher le titre de la fenêtre active à chaque fois que la fenêtre active est modifiée".
Pour Mac, installez la bibliothèque requise avec la commande suivante.
pip install -U PyObjC
Pour Windows, utilisez la commande suivante pour installer les bibliothèques requises.
pip install -U pywin32
get_active_window_title.py
#!/usr/bin/env python
import sys
#Pour Mac
if sys.platform == "darwin":
from AppKit import NSWorkspace
from Quartz import (
CGWindowListCopyWindowInfo,
kCGWindowListOptionOnScreenOnly,
kCGNullWindowID
)
def getActiveWindowTitle():
curr_app = NSWorkspace.sharedWorkspace().frontmostApplication()
curr_pid = NSWorkspace.sharedWorkspace().activeApplication()['NSApplicationProcessIdentifier']
curr_app_name = curr_app.localizedName()
options = kCGWindowListOptionOnScreenOnly
windowList = CGWindowListCopyWindowInfo(options, kCGNullWindowID)
txt = ""
for window in windowList:
pid = window['kCGWindowOwnerPID']
windowNumber = window['kCGWindowNumber']
ownerName = window['kCGWindowOwnerName']
geometry = window['kCGWindowBounds']
windowTitle = window.get('kCGWindowName', u'Unknown')
if curr_pid == pid:
activeWindowTitle = ownerName + " - " + windowTitle
return activeWindowTitle
#Pour les fenêtres
elif sys.platform == "win32":
import win32gui
def getActiveWindowTitle():
activeWindowTitle = win32gui.GetWindowText(win32gui.GetForegroundWindow());
return activeWindowTitle
else:
def getActiveWindowTitle():
return ""
def main():
bufWindowTitle = ""
try:
while True:
activeWindowTitle = getActiveWindowTitle()
if bufWindowTitle != activeWindowTitle:
print(activeWindowTitle)
bufWindowTitle = activeWindowTitle
except KeyboardInterrupt:
sys.exit(0)
if __name__ == '__main__':
main()
Après l'avoir créé, exécutez-le avec la commande suivante.
python get_active_window_title.py
Vous devriez voir le nom de l'application chaque fois que vous changez de fenêtre active.
l'a fait!
Si vous envoyez ceci au serveur spécifié, vous saurez que vous travaillez correctement, et il est normal de se faire dire "Prouvez!"! !! ...D'accord! ...... Je pense que ça va.
Recommended Posts