Lanciare un programma esterno conoscendo soltanto il nome del suo file eseguibile presente nel sistema

Da Gambas-it.org - Wikipedia.
Versione del 11 ott 2023 alle 19:26 di Vuott (Discussione | contributi) (Creata pagina con "Bisognerà attivare anche i Componeneti "gb.desktop" e "gb.desktop.x11". Poniamo il caso in cui desideriamo lanciare il programma della "Calcolatrice" di "Gnome", del quale il...")

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Bisognerà attivare anche i Componeneti "gb.desktop" e "gb.desktop.x11". Poniamo il caso in cui desideriamo lanciare il programma della "Calcolatrice" di "Gnome", del quale il nome del file eseguibile è "gnome-calculator" e il cui percorso è "/usr/bin/gnome-calculator"
Dopo aver lanciato il programm della Calcolatrice, provvederemo a centrare la sua finestra sulla Scrivania.

Public Sub Button1_Click()

 Dim df As New DesktopFile(Null)
 Dim pr As Process
 Dim dw As DesktopWindow

 pr = df.Run(System.Find("gnome-calculator"))

 Repeat 
   Wait 0.01
' Si attende che la finestra della "Calcolatrice" sia apparsa sulla Scrivania e che quindi sia la finestra attiva corrente:
   dw = New DesktopWindow(Desktop.ActiveWindow)
' Individua il PID del programma della "Calcolatrice", usando l'ID della sua finestra.
' Si esce quindi dal ciclo quando il PID, così ottenuto, e quello derivato dall'Oggetto Process corrispondono:
 Until X11.GetWindowProperty(dw.Id, "_NET_WM_PID")[0] == pr.Id
 
' Centra la finestra della "Calcolatrice" sulla Scrivania:
 dw.Move((Screen.W - dw.W) / 2, (Screen.H - dw.H) / 2)

End