Topic: ID finestra del processo python  (Letto 987 volte)

0 Utenti e 1 Visitatore stanno visualizzando questo topic.

Offline Tungsteno

  • python erectus
  • ***
  • Post: 183
  • Punti reputazione: 0
    • Mostra profilo
ID finestra del processo python
« il: Gennaio 26, 2017, 17:33 »
Salve ragazzi,

ho una richiesta un pò particolare:
è possibile risalire all' ID della finestra che viene creata dal processo python attuale?

Per esempio, sapere l'ID della finestra di comando che si apre quando avvii uno script python, oppure la finestra che appare quando si usa pygame o kivy (sempre legate al processo dello script python attuale).

Questo mi serviva per poi confrontarla con la finestra attualmente in stato di "foreground" tramite il comando GetForegroundWindow del modulo win32gui (o il corrispettivo per linux).

Grazie mille
« Ultima modifica: Gennaio 26, 2017, 17:37 da Tungsteno »

Offline riko

  • python deus
  • *
  • moderatore
  • Post: 7.453
  • Punti reputazione: 12
    • Mostra profilo
    • RiK0 Tech Temple
Re: ID finestra del processo python
« Risposta #1 il: Gennaio 26, 2017, 22:56 »
In qualche modo credo proprio che si possa fare. Poi magari non e' comodo.
Poi dipende da che API espone Windows. Io saprei risalire a tutti i processi che ci sono prima di me. Pero' questo mi darebbe il processo, non l'handle dello specifico ente di UI che rappresenta il terminale dentro cui sta girando Python.

Offline Tungsteno

  • python erectus
  • ***
  • Post: 183
  • Punti reputazione: 0
    • Mostra profilo
Re: ID finestra del processo python
« Risposta #2 il: Gennaio 28, 2017, 14:09 »
Ok perfetto Riko.
Grazie al tuo suggerimento ho raffinato la mia ricerca  e ho trovato questo articolo http://timgolden.me.uk/python/win32_how_do_i/find-the-window-for-my-subprocess.html
dove spiega come fare questa cosa su Windows e con qualche adattamento funziona perfettamente nel mio contesto.

Ora mi servirebbe adattarlo per Linux e l'unica fonte che ho trovato suggerisce di usare xwininfo. Purtroppo però preferirei non usare programmi esterni per fare questa cosa e vorrei capire se si può implementare completamente in Python.

Avresti qualche altro suggerimento su come adattare quel codice per farlo funzionare anche su Linux?

Grazie ancora

Offline riko

  • python deus
  • *
  • moderatore
  • Post: 7.453
  • Punti reputazione: 12
    • Mostra profilo
    • RiK0 Tech Temple
Re: ID finestra del processo python
« Risposta #3 il: Gennaio 28, 2017, 16:45 »
Avresti qualche altro suggerimento su come adattare quel codice per farlo funzionare anche su Linux?

Vedi, il punto e' poi cosa ci vuoi fare.

Puoi provare a partire da qui: https://www.freedesktop.org/wiki/

Chesso'... magari dbus puo' aiutarti. Ma dovresti chiedere a gente che si interessa di UI.