Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: patricio05 en 26 Mayo 2008, 00:27 am



Título: Ayuda! Formulario Delante de la barra de inicio
Publicado por: patricio05 en 26 Mayo 2008, 00:27 am
Hola muchachos!

acudo esta vez a ustedes para ver si alguien me puede ayudar con esto:

-Necesito hacer que el cuerpo de un formulario con VB 6 quede delante de la barra de inicio del Windows XP y no por detras (como sucede por defecto), ya que intento y no puedo conseguir dichos resultados


Agradezco desde ya la ayuda que me puedan dar :D

Saludos!!


Título: Re: Ayuda! Formulario Delante de la barra de inicio
Publicado por: Tughack en 26 Mayo 2008, 01:50 am
SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE

Saludos


Título: Re: Ayuda! Formulario Delante de la barra de inicio
Publicado por: patricio05 en 26 Mayo 2008, 18:16 pm
y eso donde eh de ponerlo ?

lo pongo puse en el codigo del formulario en el Load y no funciona.


Título: Re: Ayuda! Formulario Delante de la barra de inicio
Publicado por: Tughack en 26 Mayo 2008, 18:17 pm
y eso donde eh de ponerlo ?

lo pongo puse en el codigo del formulario en el Load y no funciona.

Has declarado la api y las contantes?


Título: Re: Ayuda! Formulario Delante de la barra de inicio
Publicado por: cobein en 26 Mayo 2008, 18:23 pm
Pone esto en el general (arriba de todo)

Código:
Private Declare Sub SetWindowPos Lib "User32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)

y en el load del form esto

Código:
Private Sub Form_Load()
    Call SetWindowPos(Me.hWnd, -1, 0, 0, 0, 0, &H53)
End Sub


Título: Re: Ayuda! Formulario Delante de la barra de inicio
Publicado por: Tughack en 26 Mayo 2008, 18:25 pm
Pone esto en el general (arriba de todo)

Código:
Private Declare Sub SetWindowPos Lib "User32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)

y en el load del form esto

Código:
Private Sub Form_Load()
    Call SetWindowPos(Me.hWnd, -1, 0, 0, 0, 0, &H53)
End Sub

Primero, en mi opinion, deberias dejarlo intentar por si mismo.

Segundo, usar -1 y &H53 es escaparse a las contantes y es mala programacion... Me pergunto si lo harias asi en C...


Título: Re: Ayuda! Formulario Delante de la barra de inicio
Publicado por: seba123neo en 26 Mayo 2008, 18:36 pm
para colmo esto esta en todos lados,hay que buscar antes de preguntar...


Título: Re: Ayuda! Formulario Delante de la barra de inicio
Publicado por: cobein en 26 Mayo 2008, 18:38 pm
HAHHAAH alguna vez me tenia que tocar... venia teniendo suerte de que no comentes nada acerca de mis posts =),  si es por dejarlo aprender tendrias que haber puesto la referecia a la API y dejarlo investigar por su cuenta.

Con respecto a las constantes tenes razon, gracias por el dato, de ahora en mas lo voy a usar siempre ;)
 
La primer respuesta tendria que haber sido esta.

Lee esto.
http://msdn.microsoft.com/en-us/library/ms633545(VS.85).aspx


Título: Re: Ayuda! Formulario Delante de la barra de inicio
Publicado por: seba123neo en 26 Mayo 2008, 18:42 pm
es que todo el visual basic esta en la MSDN  :P,pero no buscan ,NO BUSCAN!! :xD


Título: Re: Ayuda! Formulario Delante de la barra de inicio
Publicado por: Tughack en 26 Mayo 2008, 18:48 pm
HAHHAAH alguna vez me tenia que tocar... venia teniendo suerte de que no comentes nada acerca de mis posts =),  si es por dejarlo aprender tendrias que haber puesto la referecia a la API y dejarlo investigar por su cuenta.

Con respecto a las constantes tenes razon, gracias por el dato, de ahora en mas lo voy a usar siempre ;)
 
La primer respuesta tendria que haber sido esta.

Lee esto.
http://msdn.microsoft.com/en-us/library/ms633545(VS.85).aspx

Enfin... Le he dado la api y k hacer con ela, el minimo seria declarar las constantes y la api, k podria sacarlas de un add-in k viene con vb llamado api viewer (ni se para k estoy comentando esto, es algo k se deberia saber antes de saber hacer una condicional en en vb).

No comentava nada en tus posts pork nunca me habias dado motivo, hasta ahora... Tenia una opinion diferente acerca de ti, creo k me he ekivocado...

es que todo el visual basic esta en la MSDN  :P,pero no buscan ,NO BUSCAN!! :xD

No es todo el visual basic, es toda la programacion para windows  ;)


Título: Re: Ayuda! Formulario Delante de la barra de inicio
Publicado por: cobein en 26 Mayo 2008, 19:01 pm
@Tughack
Si, al parecer te equivocaste, es bueno que lo aceptes,"herrar es humano" como te habras dado cuenta las apariencias engañan.
Pero no te hagas problema es solamente algo menor, yo sigo manteniendo la misma opinion acerca de vos.


Título: Re: Ayuda! Formulario Delante de la barra de inicio
Publicado por: abel_c_b en 26 Mayo 2008, 23:28 pm
creo que esto te ayudara:

Const SWP_NOMOVE = 2
Const SWP_NOSIZE = 1
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2 '
 
Private Declare Function SetWindowPos _
    Lib "user32" ( _
        ByVal hWnd As Long, _
        ByVal hWndInsertAfter As Long, _
        ByVal X As Long, ByVal Y As Long, _
        ByVal cX As Long, _
        ByVal cY As Long, _
        ByVal wFlags As Long) As Long

Private Sub Form_Load()
   SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, _
                            SWP_NOMOVE Or SWP_NOSIZE
End Sub

saludos


Título: Re: Ayuda! Formulario Delante de la barra de inicio
Publicado por: SKL (orignal) en 27 Mayo 2008, 04:38 am
creo que esto te ayudara:

Const SWP_NOMOVE = 2
Const SWP_NOSIZE = 1
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2 '
 
Private Declare Function SetWindowPos _
    Lib "user32" ( _
        ByVal hWnd As Long, _
        ByVal hWndInsertAfter As Long, _
        ByVal X As Long, ByVal Y As Long, _
        ByVal cX As Long, _
        ByVal cY As Long, _
        ByVal wFlags As Long) As Long

Private Sub Form_Load()
   SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, _
                            SWP_NOMOVE Or SWP_NOSIZE
End Sub

saludos


lee mas arriba y fijate que ya lo pusieron como 10 veces al code...