Gambas-it

Gambas3 => Programmazione => Topic aperto da: vuott - 04 Luglio 2011, 12:12:14

Titolo: [Risolto] Trovare in Gambas 3 l' ID di una finestra da gestire con Embed
Inserito da: vuott - 04 Luglio 2011, 12:12:14
Da quel che sembra, Gambas 3 non supporta più  :hatecomputer: "Desktop.Find", con il quale - come mostrato in qualche discussione nella parte relativa alla programmazione in Gambas 2 - era possibile trovare appunto l' ID di una finestra aperta sul desktop da utilizzare con ''embed'' per inglobare quella finestra in un form.

Qualcuno ha trovato una valida alternativa ?
Titolo: Re: Trovare in Gambas 3 il PID di una finestra da gestire con Embed
Inserito da: fsurfing - 04 Luglio 2011, 19:45:21
desktop.findwindow non ti piace?  ;D

Codice: gambas [Seleziona]

Public Sub Button1_Click()


Dim id As New Integer[]

 
  id = Desktop.FindWindow(FMain.Title)
 
  If id.Count > 0 Then
      label1.text = id[0]
  Endif
 
 
End



Titolo: Re: Trovare in Gambas 3 l' ID di una finestra da gestire con Embed
Inserito da: vuott - 05 Luglio 2011, 00:21:12
desktop.findwindow non ti piace?  ;D

Molto interessante. Stavo indagando su di lui stamane, ma non avevo capito come funzionava. Bene !

Mi stavo piegando su una soluzione molto... extreme  :death: di questo genere:

Codice: [Seleziona]
Shell "wmctrl -p -l"

e quindi, dopo aver individuato l' ID esadecimale (nella prima colonna dei dati), inserivo manualmente  :'( l' ID, con conversione da esadecimale in decimale, nel comando finale di:

Codice: [Seleziona]
Embedder1.embed(numero_PID_decimale)

Comunque, ho provato il tuo codice senza modificare alcunché, e vorrei porre due questioni:

Sarebbe interessante sapere se questo medesimo comportamento è riscontrabile anche in altri utenti; però è chiaro che per inglobare una finestra in un form - stando così le cose - io devo procedere alla sua preventiva minimizzazione in basso.  :hatecomputer: ...e dovrò così trovare la strategia, la soluzione (ma mi pare che wmctrl non offra questa possibilità) pure per fare questo.  :rolleyes:

......ma non è strana 'sta cosa ?

Possono anche gli altri verificare questo fatto ? E' un problema mio, o più generale ?

Titolo: Re: Trovare in Gambas 3 l' ID di una finestra da gestire con Embed
Inserito da: vuott - 14 Novembre 2011, 23:27:46
Aggiornamento:

Dopo alcuni mesi sono tornato sull'argomento ed ho fatto delle prove e verifiche sull'individuazione del ID di una finestra e sul funzionamento di Embed con Gambas 3 (che bisognerà avere cura di aggiornare); e rinvio a questa discussione dove ho descritto i risultati finalmente positivi (con risoluzione dei problemi sopra citati):

http://www.gambas-it.org/smf/index.php?topic=1923.msg21337#msg21337 (http://www.gambas-it.org/smf/index.php?topic=1923.msg21337#msg21337)

Sono riuscito a trovare alcuni modi per individuare l' ID della finestra di un programma, che sono visibili in questa pagina:
http://www.gambas-it.org/wiki/index.php?title=Individuare_ed_estrarre_l%27ID_della_finestra_di_un_programma


Consultare anche questa pagina della WIKI: http://www.gambas-it.org/wiki/index.php/Embedder (http://www.gambas-it.org/wiki/index.php/Embedder) .