Sto cercando di creare una semplice utility open source per Windows utilizzando Python che può eseguire azioni definite dall'utente sul testo selezionato della finestra correntemente attiva. L'utilità dovrebbe essere attivata utilizzando una scorciatoia da tastiera predefinita.Come recuperare il testo selezionato dalla finestra attiva
uso è parzialmente illustrato nel seguente esempio:
- L'utente seleziona un testo utilizzando il mouse o la tastiera (in qualsiasi finestra dell'applicazione)
- l'utente preme un collegamento predefinito tastiera
- Il testo selezionato viene recuperato dalla nostra utilità o copiato negli appunti (entrambi gli approcci dovrebbero andare bene)
- L'azione dipendente dalla scelta rapida da tastiera viene eseguita sul testo selezionato
Quale puzzle mi è passaggio 3. Come viene recuperato il testo selezionato dalla finestra attiva. Questo dovrebbe funzionare con tutte le applicazioni.
Uso il modulo pywin32.
Grazie in anticipo per le vostre risposte e suggerimenti.
Update # 1:
scopre che ci sono due approcci per realizzare il compito:
- Trovare la finestra attiva, quindi inviare un messaggio/combinazione di tasti (Ctrl-C) ad esso per copiare il testo selezionato negli Appunti. Quindi l'utilità può lavorare sul testo accedendo utilizzando le funzioni relative agli Appunti.
- Trova la finestra attiva, quindi recupera direttamente il testo selezionato (senza copiarlo negli appunti). Questo sembra più difficile del primo approccio.
come punto di partenza:
ottenere la finestra ID attiva come Anurag Uniyal ha sottolineato nel suo reply.
O ottenere l'oggetto finestra con il seguente codice:
import win32ui
wnd = win32ui.GetForegroundWindow()
print wnd.GetWindowText()
Può chiarire indipendentemente dal fatto che questa utility stia effettivamente creando la finestra attiva o questa finestra sia attiva da un'altra applicazione? –
La "finestra attiva" è una finestra di un'altra applicazione. Questa utility dovrebbe essere eseguita in background (o systray) e dovrebbe essere attivata con un tasto predefinito. –
Hai capito come recuperare il testo selezionato? – iMath