Sono in grado di visualizzare i processi che si svolgono su un computer remoto sulla mia rete utilizzando il modulo wmi
. Questo è un esempio che utilizza wmi per monitorare i processi creati ed eliminati sul mio PC.Come monitorare la finestra attiva su un PC remoto
import wmi, multiprocessing
def create():
while True:
crePro = cp()
print('Creation',crePro.Caption,crePro.ProcessId,crePro.CreationDate)
def delete():
while True:
delPro = dp()
print('Deletion',delPro.Caption,delPro.ProcessId,delPro.CreationDate)
c = wmi.WMI()
cp = c.Win32_Process.watch_for("creation")
dp = c.Win32_Process.watch_for("deletion")
if __name__ == '__main__':
createProc = multiprocessing.Process(target = create)
deleteProc = multiprocessing.Process(target = delete)
createProc.start()
deleteProc.start()
Ho anche letto su come utilizzare win32gui
per ottenere la finestra attiva.
import win32gui
win32gui.GetForegroundWindow()
e ho letto circa l'esistenza di WM_SETFOCUS
e WM_ACTIVE
in win32con
, ma io non sono certo come collegare a questi flussi su un PC remoto.
La mia domanda è: Come posso monitorare la finestra attiva di un PC remoto (suppongo utilizzando WM_SETFOCUS
o WM_ACTIVE
)
possibile duplicato di [finestra attiva di evento wmi/finestra di messa a fuoco] (http://stackoverflow.com/questions/11472216/wmi-event-active-window-focus-window) – rogerdpack