Estoy desarrollando un teclado para mis practicas profesionales de la Universidad, lo intente realizar en JAVA pero el cambio de ventana es casi imposible o mas bien no lo encontre por lo tanto cambie a vb.net porque encontre estas funciones, de echo me esta quedando un poco mejor que en java solo que tengo 2 dias utilizando vb.net y la verdad no entiendo algunas cosas todavia...
He aqui el codigo:
Código vb:
Ver original
'importamos el user32.dll para utilizar FindWindow 'Esta funcion sirve para encontrar la ventana deseada <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _ Private Shared Function FindWindow( _ ByVal lpClassName As String, _ ByVal lpWindowName As String) As IntPtr End Function 'Los parametros en FindWindow son los que manejaran la ventana, la clase de 'aplicacion y el nombre de la ventana 'importamos user32.dll para usar setforeground window 'funcion para poner ventana activa <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _ Private Shared Function SetForegroundWindow(ByVal hWnd As IntPtr) As Long End Function Dim ParenthWnd As New IntPtr(0) 'Metodo para cambiar ventana Public Sub cambioventana(ByVal title As String) 'Busca la ventana, los valores deben ser la aplicacion y el titulo de la aplicacion 'Es aqui mi problema, no siempre sera notepad y no siempre tendra ese titulo... ' |||||||||||||||||||||||||||||||||||||| ParenthWnd = FindWindow("Notepad", "Sin título: Bloc de notas") If ParenthWnd.Equals(IntPtr.Zero) Then MessageBox.Show("No se encontro la ventana") Else ' La ha encontrado y la pone en primer plano SetForegroundWindow(ParenthWnd) End If End Sub
Quiero saber si se puede evitar tener que poner el nombre de la aplicacion y el titulo de ventana, o mas bien como poner la ultima ventana utilizada.
Si alguien puede ayudarme lo agradeceria mucho!