Come posso sapere quale processo ha il focus corrente?Come trovo il programma con l'attuale fuoco?
Edit: sistema operativo Windows, ovunque da XP a 7
Come posso sapere quale processo ha il focus corrente?Come trovo il programma con l'attuale fuoco?
Edit: sistema operativo Windows, ovunque da XP a 7
Chiama il GetForegroundWindow
per ottenere l'handle della finestra focalizzata e quindi chiama GetWindowThreadProcessId
per ottenere l'ID del processo che ha creato quella finestra. Quello che fai con quell'ID dipende da te.
Hai ragione. Questa è l'API che intendevo suggerire .. cancellando la mia risposta e +1 – AJG85
i primi passi sono EnumProcesses WinAPI funzione (e forse OpenProcess)
È possibile utilizzare EnumProcesses
per ottenere l'elenco dei processi in esecuzione.
Dopo aver recuperato le maniglie, controlla GetProcessInformation
, potrebbe esserci qualcosa che può aiutarti.
Qual è il problema che stai cercando di risolvere, dove pensi che ottenere il programma con l'attuale focus aiuterà? –
@Raymond Chen, vorrei prototipare un sistema che registrerà quale finestra è attualmente aperta, da lì determinare quale programma è effettivamente in esecuzione (cioè Spotify) una volta che le informazioni sono note input trap/log tastiera ed eseguire un'azione (es. , tieni un registro delle canzoni cercate). Grazie per la modifica BTW. – Fabian
Quindi vuoi fare un keylogger in grado di indirizzare qualsiasi processo ;-) – AJG85