elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Utilizar función ShowInTaskbar con firefox
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Utilizar función ShowInTaskbar con firefox  (Leído 4,005 veces)
daniel.r.23

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Utilizar función ShowInTaskbar con firefox
« en: 27 Octubre 2014, 05:10 am »

Bueno la idea es tratar de ocultar el icono de firefox de la barra de tareas.
Si fuera un form que estuviese ejecutando usaría el siguiente cód:
Código:
Me.ShowInTaskbar = False
Pero o me doy cuanta como usarlo cuando tengo que obtener una ventana, en mi caso una del navegador Firefox.
Espero que me pudan dar una mano!! gracias


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Utilizar función ShowInTaskbar con firefox
« Respuesta #1 en: 27 Octubre 2014, 05:19 am »

qué estás haciendo con firefox XD parece que fueras a hacer un virus que use firefox como motor XD


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
daniel.r.23

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Re: Utilizar función ShowInTaskbar con firefox
« Respuesta #2 en: 27 Octubre 2014, 10:24 am »

no de momento no ando en esas cosas!! jaja
Es por una propuesta de un amigo con la PTC Neobux, desde ahí estoy mejorando un autoclick muy casero...
funciona a través de firefox, controlado por ruby y con una mínima interfaz en vb.net.
Lo que estoy tratando de hacer con esto que al usuario no le moleste la ventana o ventanas que se abran del navegador, sin suerte alguna!!
En línea

LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Re: Utilizar función ShowInTaskbar con firefox
« Respuesta #3 en: 31 Octubre 2014, 20:26 pm »

Hola dos ayudas rapida, por lo que vi en algunos temas anteriores, yo no lo aria con firefox y lo haria con el webbrowser (si el de iexplorer) pero bueno es tu elecion.

para quitar una ventana del la barra de tarea se utiliza la constante  WS_EX_APPWINDOW de el api SetWindowRgn

un ejemplo en vb6

Código
  1. Option Explicit
  2. Private Declare Function ShowWindow Lib "user32.dll" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
  3. Private Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  4. Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
  5. Private Const WS_EX_APPWINDOW As Long = &H40000
  6. Private Const GWL_EXSTYLE As Long = -20
  7.  
  8. Private Sub Command1_Click()
  9.    Dim hwndFireFox As Long
  10.  
  11.    hwndFireFox = Me.hWnd '<--aca ira el de firefox
  12.  
  13.  
  14.    ShowWindow hwndFireFox, 0
  15.    SetWindowLong hwndFireFox, GWL_EXSTYLE, GetWindowLong(hwndFireFox, GWL_EXSTYLE) And Not WS_EX_APPWINDOW
  16.    ShowWindow hwndFireFox, 1
  17.  
  18. End Sub

y despues si showwindow hace que no te funcione proba recortando la región de la ventana a 0, el navegador puede controlar si esta visible o no, pero no controla si su región esta nula.

Código
  1. Private Declare Function SetWindowRgn Lib "user32.dll" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long
  2. Private Declare Function CreateRectRgn Lib "gdi32.dll" (ByVal X1 As Long, ByVal Y1 As Long, ByVal X2 As Long, ByVal Y2 As Long) As Long
  3.  
  4.  
  5.  
  6. Private Sub Command1_Click()
  7.    Dim hwndFireFox As Long
  8.  
  9.    hwndFireFox = Me.hWnd
  10.  
  11.    'ocultar la ventana recortandola a 0
  12.    SetWindowRgn hwndFireFox, CreateRectRgn(0, 0, 0, 0), True
  13. End Sub
En línea

daniel.r.23

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Re: Utilizar función ShowInTaskbar con firefox
« Respuesta #4 en: 2 Noviembre 2014, 02:32 am »

Gracias por responder, voy a probar la primera solución, la segunda que me planteas no por que programa esta constantemente activando el navegador por lo que nunca lo va a ocultar, en cambio lo que hice fue cambiarle la posición.
Por eso lo único que me restaría hacer para que el usuario no vea nada es quitar el icono de la ventana de la barra de tareas.
Lo pruebo y te comento!
En línea

daniel.r.23

Desconectado Desconectado

Mensajes: 58


Ver Perfil
Re: Utilizar función ShowInTaskbar con firefox
« Respuesta #5 en: 3 Noviembre 2014, 10:22 am »

buenas, te cuento que me sale un error en está linea:

Código:
SetWindowLong hwndFireFox, GWL_EXSTYLE, GetWindowLong(hwndFireFox, GWL_EXSTYLE) And Not WS_EX_APPWINDOW

que dice:

"Una llamada a la función PInvoke 'Neo!Neo.Form1::GetWindowLong' impidió la correspondencia de la pila. Es posible que la razón sea que la firma PInvoke administrada no coincida con la firma de destino no administrada. Compruebe que la convención y los parámetros de llamada de la firma PInvoke coinciden con la firma no administrada de destino."

algo que observo en mi código pero que al modificarlo sigo con el mismo problema es como tengo definidas algunas de las funciones:

Código:
Private Declare Function ShowWindow Lib "user32.dll" (ByVal hWnd As Long, ByVal nCmdShow As Long) As Long
    Private Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
    Private Const WS_EX_APPWINDOW As Long = &H40000
    Private Const GWL_EXSTYLE As Long = -20
    <DllImport("user32.dll", EntryPoint:="FindWindowExW")> _
    Private Shared Function FindWindowExW(ByVal hwndParent As System.IntPtr, ByVal hwndChildAfter As System.IntPtr, <InAttribute(), MarshalAs(UnmanagedType.LPTStr)> ByVal lpszClass As String, <InAttribute(), MarshalAs(UnmanagedType.LPTStr)> ByVal lpszWindow As String) As System.IntPtr
    End Function

    Private Sub BackgroundWorker1_DoWork(sender As System.Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
        Dim Width As Integer = My.Computer.Screen.Bounds.Width
        Dim Height As Integer = My.Computer.Screen.Bounds.Height
        While Not visible_
            Dim hWnd As IntPtr = FindWindowExW(IntPtr.Zero, IntPtr.Zero, "MozillaWindowClass", Nothing)
            While Not hWnd.Equals(IntPtr.Zero)
                Dim title As New System.Text.StringBuilder(256)
                GetWindowTextW(hWnd, title, 256)
                'If title.ToString.Contains("NeoBux") Then
                MoveWindow(hWnd, Width, Height, Width, Height, True)
                'End If
                hWnd = FindWindowExW(IntPtr.Zero, hWnd, "MozillaWindowClass", Nothing)
                SetWindowLong(hWnd, GWL_EXSTYLE, GetWindowLong(hWnd, GWL_EXSTYLE) And Not WS_EX_APPWINDOW)

            End While
           
        End While
        visible_ = False
    End Sub

tanto  SetWindowLong como GetWindowLong toman un dato de tipo Long mientras que yo como lo tengo definido le paso un  IntPtr
« Última modificación: 3 Noviembre 2014, 10:45 am por daniel.r.23 » En línea

LeandroA
Moderador
***
Desconectado Desconectado

Mensajes: 760


www.leandroascierto.com


Ver Perfil WWW
Re: Utilizar función ShowInTaskbar con firefox
« Respuesta #6 en: 3 Noviembre 2014, 19:13 pm »

hola no manejo .net  pero a simple vista te dira que remplazes "Long" por  "System.IntPtr", es importante para que los cambios se resalten tenes que poner la ventana hide luego aplicar el camibio a  Not WS_EX_APPWINDOW y luego ponerla visible.

Código:
    ShowWindow hwndFireFox, 0
    SetWindowLong hwndFireFox, GWL_EXSTYLE, GetWindowLong(hwndFireFox, GWL_EXSTYLE) And Not WS_EX_APPWINDOW
    ShowWindow hwndFireFox, 1
 
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines