Differenze tra le versioni di "Lanciare un programma senza Shell, ma da una finestra di un Terminale"
Da Gambas-it.org - Wikipedia.
(Creata pagina con 'Per poter lanciare un programma senza usare l'istruzione ''Shell'' o ''Exec'', bensì da un ''Terminale'', si potrà adottare un codice come quello che segue, attivando innanz...') |
|||
Riga 31: | Riga 31: | ||
<FONT color=gray>' ''Simula l'emissione del comando di "Invio":''</font> | <FONT color=gray>' ''Simula l'emissione del comando di "Invio":''</font> | ||
.SendKeys("[Return]") | .SendKeys("[Return]") | ||
− | |||
− | |||
End With | End With | ||
+ | |||
+ | <FONT color=gray>' ''Ma più brevemente le due precedenti righe potranno essere sostituite dalla seguente, | ||
+ | ' ''che prevede alla fine il carattere di "nuova linea a capo":'' | ||
+ | '''Desktop.SendKeys("{gedit\n}")'''</font> | ||
'''End''' | '''End''' |
Versione delle 18:28, 19 nov 2013
Per poter lanciare un programma senza usare l'istruzione Shell o Exec, bensì da un Terminale, si potrà adottare un codice come quello che segue, attivando innanzitutto il componente gb.desktop ed usando, così, il metodo .SendKeys della Classe Desktop.
Nell'esempio che segue si lancerà da Terminale - senza Shell - il programma di scrittura "Gedit":
Public Sub Button1_Click() ' Apro la finestra di un Terminale: Desktop.OpenTerminal End Public Sub Button2_Click() Dim c As Integer[] ' Trova l'identificativo della finestra del Terminale aperta prima...: c = Desktop.FindWindow("Terminale") ' ...e procede al suo inglobamento come stratagemma, ' affinché possa successivamente attribuirle il "Focus": Embedder1.Embed(c[0]) Wait 0.5 ' Attribuisce il "Focus" alla finestra del Terminale ora inglobato: Embedder1.SetFocus With Desktop ' Scrive nel Terminale la parola "gedit": .SendKeys("{gedit}") ' Simula l'emissione del comando di "Invio": .SendKeys("[Return]") End With ' Ma più brevemente le due precedenti righe potranno essere sostituite dalla seguente, ' che prevede alla fine il carattere di "nuova linea a capo": Desktop.SendKeys("{gedit\n}") End