Ok, non avevo capito bene il quesito. Girando un po' su internet ho trovato svariate soluzioni, la più semplice è questa:
codice:
<Runtime.InteropServices.DllImport("User32.dll")> _
Public Shared Function SetWindowPos(ByVal hwnd As IntPtr, ByVal hWndInsertAfter As Int32,
ByVal x As Int32, ByVal y As Int32, ByVal cx As Int32, ByVal cy As Int32,
ByVal wFlags As Int32) As Int32
End Function
Const HWND_NOTOPMOST As Int32 = -2
Const SWP_SHOWWINDOW As Int32 = &H40
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim ret As Process = Process.Start("C:\Users\Fabio Turrin\Desktop\forum.txt")
ret.WaitForInputIdle(1000)
SetWindowPos(ret.MainWindowHandle, HWND_NOTOPMOST, 0, 0, 500, 300, SWP_SHOWWINDOW)
End Sub
La funzione Process.Start fornisce delle informazioni sul processo avviato, in particolare la proprietà MainWindowHandle restituisce l'handle della finestra aperta.
Per gestire le proprietà di una finestra tramite handle è necessario appoggiarsi alle API di Windows, il modo più semplice è usare la funzione SetWindowPos. In alternativa c'è la API chiamata SetWindowPlacement, che sa fare molte più cose ma richiede molto più codice per essere implementata.