Verwenden Sie Python, um Windows und Mac zu überwachen und Informationen zu den Apps zu sammeln, an denen Sie arbeiten

Einführung

Ich höre, dass immer mehr Menschen zu Hause arbeiten, und viele Menschen sind besorgt, dass "arbeiten sie alle richtig zu Hause?"

Ich finde es seltsam, überhaupt ängstlich zu sein, aber ich frage mich auch, ob einige Leute in Schwierigkeiten geraten, wenn ihr Chef ängstlich wird.

Also dachte ich, wenn ich Informationen über die Apps sammeln könnte, die ich in Echtzeit verwendete, als ich einen Computer benutzte, könnte ich diese Angst ein wenig reduzieren, also untersuchte ich die Methode.

Hier fasse ich die Methode zusammen, "den Titel des aktiven Fensters jedes Mal abzurufen und anzuzeigen, wenn das aktive Fenster geändert wird".

Betriebsumgebung

Bibliotheksinstallation

Bibliothek zur Bedienung des Mac

Installieren Sie für Mac die erforderliche Bibliothek mit dem folgenden Befehl.

pip install -U PyObjC

Bibliothek zum Bedienen von Windows

Verwenden Sie unter Windows den folgenden Befehl, um die erforderlichen Bibliotheken zu installieren.

pip install -U pywin32

Ein Skript erstellen

get_active_window_title.py


#!/usr/bin/env python

import sys

#Für 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

#Für Windows
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()

Lauf

Führen Sie es nach dem Erstellen mit dem folgenden Befehl aus.

python get_active_window_title.py

Sie sollten den Anwendungsnamen jedes Mal sehen, wenn Sie das aktive Fenster wechseln.

erledigt!

Wenn Sie dies an den angegebenen Server senden, wissen Sie, dass Sie ordnungsgemäß arbeiten, und es ist in Ordnung, "Prove!" Zu sagen! !! ...Fein! ...... Ich denke es ist okay.

Recommended Posts

Verwenden Sie Python, um Windows und Mac zu überwachen und Informationen zu den Apps zu sammeln, an denen Sie arbeiten
Python 3.6 unter Windows ... und zu Xamarin.
Setzen Sie Cabocha 0.68 in Windows ein und versuchen Sie, die Abhängigkeit mit Python zu analysieren
So starten Sie das Python-Projekt im Jahr 2020 (Windows WSL und Mac Common)
Ich möchte Python in der Umgebung von pyenv + pipenv unter Windows 10 verwenden
Schritte zum Installieren des neuesten Python auf Ihrem Mac
Was tun, wenn der Microsoft Store geöffnet wird, auch wenn Sie Python unter Windows ausführen?
Anweisungen zur Verwendung der AWS-Befehlszeilenschnittstelle (Python / awscli) unter Mac OS X.
Bis Sie Python Virtualenv unter Windows erstellen und Jupyter starten
[Hyperledger Iroha] Hinweise zur Verwendung des Python SDK
Installieren Sie pyenv auf MacBookAir und wechseln Sie Python zur Verwendung
Aktualisieren Sie die Python, die Sie auf Ihrem Mac hatten, auf 3.7-> 3.8
[Python] Wenn Sie Ihr eigenes Paket im oberen Verzeichnis importieren und verwenden möchten
Ich habe versucht, das Python-Skript unter Windows 10 von 2.7.11 auf 3.6.0 zu ändern
Verwenden Sie Python unter Windows (PyCharm)
[Einführung in Mac] Praktische Mac-Apps und -Einstellungen, die ich verwende
Beachten Sie, was Sie getan haben, um Flycheck mit Python zu verwenden
Ich möchte wissen, ob Sie Python auf Mac ・ Iroha installieren
Verwenden Sie Python auf Raspberry Pi 3, um die LED zu beleuchten (Hello World)
Der Weg zur Installation von Python und Flask auf einem Offline-PC
[Einführung in Python] Verwendung des Booleschen Operators (und ・ oder ・ nicht)
Verwendung von Dataiku unter Windows
Verknüpfen Sie Modelica und Python unter Windows
Schritte zum Installieren von python3 auf einem Mac
Sakura Verwenden von Python im Internet
Aktualisieren Sie Mac Python von 2 auf 3
Verwenden Sie AWS Lambda, um Nachrichten zu kratzen und LINE regelmäßig über Updates zu informieren [Python]
Geben Sie den Browser an, der mit Jupyter Notebook verwendet werden soll. Besonders Mac. (Und Vivaldi)
Technisches Englisch> Sie verwenden die booleschen Operatoren [und, oder und nicht], um ...> Boolesche Operationen - und oder oder nicht
Wenn Sie NumPy, Pandas, Matplotlib, IPython, SciPy unter Windows verwenden möchten
Verwenden Sie Python auf Raspberry Pi 3, um die LED mit Schaltersteuerung zu beleuchten!
Arbeitsnotiz zum Migrieren und Aktualisieren von Skripten der Python 2-Serie in der Cloud auf 3-Serien
Beschreibung und Zusammenfassung der Installation von Chainer auf einem Mac
[Python] Verwendung der Aufzählungsfunktion (Indexnummer und Element extrahieren)
Versuchen Sie, eine Python- und Anaconda-Umgebung auf einem Mac zu erstellen (mit pyenv, conda).
Setzen Sie die MeCab-Bindung für Python unter Windows, Mac und Linux mit pip ein
Stellen Sie das in Python unter SQL Server erstellte Vorhersagemodell bereit und verwenden Sie es
So installieren und verwenden Sie pandas_datareader [Python]
Python-Fehlermeldungen sind konkret und leicht zu verstehen "ga" (SyntaxError auf der schließenden Seite von dreifachen "" "Kommentaren)
[Kivy] So installieren Sie Kivy unter Windows [Python]
Was tun, wenn Sie pyenv mit Homebrew auf Ihrem Mac OS installiert haben, die Python-Version jedoch nicht wechselt?
Ich möchte Linux auf dem Mac verwenden
So verwenden Sie Google Assistant unter Windows 10
So löschen Sie Python 2.x auf einem Mac.
Memorandum über die Verwendung von Gremlin Python
Hinweise zum Erstellen von Python und Pyenv auf dem Mac
Verwenden Sie es, ohne Python 2.x unter Windows zu installieren
Python: Verwendung von Einheimischen () und Globalen ()
Siehe Datei- und Ordnerinformationen zu Python
Installieren Sie Python auf xserver, um pip zu verwenden
Verwendung von Python zip und Aufzählung
GAE - Drehen Sie mit Python das Bild basierend auf den Rotationsinformationen von EXIF und laden Sie es in den Cloud-Speicher hoch.
Umgang mit "^ [[A ^ [[B ^ [[C ^ [[D"]] beim Drücken der Richtungstaste beim Ausführen von Python auf dem Mac
Verwendung ist und == in Python
Python open und io.open sind gleich
Ich habe es geschafft, die Situation zu lösen, in der Python auf dem Mac nicht funktioniert
Tipps für diejenigen, die verwirrt sind, wie man is und == in Python verwendet
Der Schlüssel zum Bereitstellen von Flask-Apps mit Python Buildpack in Cloud Foundry (Diego)
Verwenden Sie libsixel, um Sixel in Python auszugeben und das Matplotlib-Diagramm an das Terminal auszugeben.
Ich habe versucht, Resultoon auf Mac + AVT-C875 zu verwenden, war aber unterwegs frustriert.
Um zu vermeiden, dass bei der Installation von Django-Toolbelt mit Windows, Heroku und Python3.4 (64 Bit) die Hölle kommt ...