ya lo encontré
Realmente es muy simple, busqué entre mis snippets modificaciones de ventana, en los cuales les envío un mensaje a una ventana para cambiar los menús la barra añadir cosas, obtener informción, etc.
Y finalmente es de lo más simple. Simplemente ocultando la ventana con
ShowWindow. Más bien eliminando el modo 'ventana'
<DllImport("user32.dll")> _
Shared Function ShowWindow(ByVal hWnd As IntPtr, ByVal nCmdShow As Integer) As Boolean
End Function
Obtienes el handle mendiante Process, con NET por ejemplo:
Dim NommbreAppa As String = "Notepad"
Dim HwndProcess As IntPtr = IntPtr.Zero
For Each Proceso In Process.GetProcesses()
If Proceso.ProcessName = NommbreAppa.ToLower Then
HwndProcess = Proceso.MainWindowHandle
End If
Next
y luego le cambias el estado a oculto:
ShowWindow(HwndProcess, 0)
hay que poner 0, para ocultarlo 1 para minimizado y 2 para normal.
Sin embargo una vez oculto (bueno sin ventana)
Process.GetProcesses(), no encuentra el proceso. Lo digo por si
luego se quiere cambiar el estado a Visible.
Entonces hay que usar otro código para obtener el handle de un proceso sin ventana. Hay algunos por ahí.
pero.... no se si el truquillo funcionaría con todo tipo de procesos, si al hacer clic en el icono es posible maximizar la aplicación o mostrarlo en ventana, en principio si que debería funcionar.
Si la aplicación no está en modo ventana entonces Process.getProcesses no encontrará el handle. Es necesario que esté en modo ventana.,
...Estoy buscando uno que tenía que desactivaba el icono pero no lo encuentro
El método era similar. Me cachis a ver si lo encuentro