Buenas tengo problemas para ocultar el navegador firefox, he estado buscando en la web y encontré este código:
<DllImport("user32.dll")> _
Private Shared Function ShowWindow(ByVal hWnd As IntPtr, ByVal nCmdShow As Integer) As Boolean
End Function
Dim mywindow As Integer
Dim processRunning As Process() = Process.GetProcesses()
Dim Form As Object = New Object()
For Each pr As Process In processRunning
If pr.ProcessName = "firefox" Then
mywindow = pr.MainWindowHandle.ToInt32()
ShowWindow(mywindow, 0)
End If
Next
de momento no me esta funcionando!!! no hace nada!! y no entiendo porque!!
Si alguien se anima explicarme!! le agradezco!!
les comento que el navegador lo lanza una aplicación diseñada en RUBY, comento por las dudas!
BOOL WINAPI ShowWindow(
_In_ HWND hWnd,
_In_ int nCmdShow
);
SW_HIDE
0
Hides the window and activates another window.
,
Seguramente no debés tener el hwnd correcto, tal vez es un child el que estás tomando, usá el WinHack para realmente verlo.
Disculpa te animas a explicarme de nuevo, no te entendí nada!
Cita de: daniel.r.23 en 22 Octubre 2014, 16:42 PM
Disculpa te animas a explicarme de nuevo, no te entendí nada!
No confío en .NET, probá con FindWindow.
msdn.microsoft.com/en-us/library/windows/desktop/ms633499(v=vs.85).aspx (http://msdn.microsoft.com/en-us/library/windows/desktop/ms633499(v=vs.85).aspx)
Buenas dejo una posible solución a mi problema
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Shared Function ShowWindow(ByVal hwnd As IntPtr, ByVal nCmdShow As Int32) As Boolean
End Function
Private Sub HideToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles HideToolStripMenuItem.Click
Const SW_HIDE As Integer = 0
Dim p As Process() = Process.GetProcessesByName("firefox")
If p.Length > 0 Then
Dim hWnd As IntPtr = p(0).MainWindowHandle
ShowWindow(hWnd, SW_HIDE)
End If
End Sub
Gracias a todos!!
Citar
Buenas dejo una posible solución a mi problema
Código:
<DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Private Shared Function ShowWindow(ByVal hwnd As IntPtr, ByVal nCmdShow As Int32) As Boolean
End Function
Private Sub HideToolStripMenuItem_Click(sender As System.Object, e As System.EventArgs) Handles HideToolStripMenuItem.Click
Const SW_HIDE As Integer = 0
Dim p As Process() = Process.GetProcessesByName("firefox")
If p.Length > 0 Then
Dim hWnd As IntPtr = p(0).MainWindowHandle
ShowWindow(hWnd, SW_HIDE)
End If
End Sub
Gracias a todos!!
Les comento por si saben cual es el problema, de que funciona si!! pero no a la primera ejemplo le doy click al notificon y click a hide, y no hace nada!!
pero cuando hago lo mismo por segunda ves ahi si lo oculta, idea de porque hace eso?