Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: neo-tokyo en 27 Septiembre 2007, 21:27 pm



Título: ejecutar en pantalla completa
Publicado por: neo-tokyo en 27 Septiembre 2007, 21:27 pm
me gustaria saber como podria con vb ejecutar una aplicación a pantalla completa, tal y como se ejecutan los juegos o ciertos programas y presentaciones

Gracias


Título: Re: ejecutar en pantalla completa
Publicado por: Xerok1! en 27 Septiembre 2007, 21:59 pm
si te refieres a esto:
Código:
Me.WindowState = 2

sino especifica :P

un saludo ;) ;)


Título: Re: ejecutar en pantalla completa
Publicado por: neo-tokyo en 27 Septiembre 2007, 22:11 pm
no maximizado no, que la ventana pierda los bordes (o que tenga que crear la pantalla sin bordes) y ocupe la pantalla, sin posibilidad de salir  con el raton al escritorio hasta acabar la aplicación


Título: Re: ejecutar en pantalla completa
Publicado por: Xerok1! en 27 Septiembre 2007, 22:19 pm
ahhhhhh ok ok pues en las propiedaades del form pones borderstyle "none"

y si kieres q no se poda salir este codigo:

Código:
Option Explicit



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
Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const SWP_FLAGS = SWP_NOMOVE Or SWP_NOSIZE




















Const valorDock As String = "enPicDock"
Private Declare Function SetParent Lib "User32" _
    (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
Private Enum eShowWindow
    HIDE_eSW = 0&
    SHOWNORMAL_eSW = 1&
    NORMAL_eSW = 1&
    SHOWMINIMIZED_eSW = 2&
    SHOWMAXIMIZED_eSW = 3&
    MAXIMIZE_eSW = 3&
    SHOWNOACTIVATE_eSW = 4&
    SHOW_eSW = 5&
    MINIMIZE_eSW = 6&
    SHOWMINNOACTIVE_eSW = 7&
    SHOWNA_eSW = 8&
    RESTORE_eSW = 9&
    SHOWDEFAULT_eSW = 10&
    MAX_eSW = 10&
End Enum

Private Declare Function ShowWindow Lib "User32" _
    (ByVal hwnd As Long, ByVal nCmdShow As eShowWindow) As Long
Private Declare Function MoveWindow Lib "User32" _
    (ByVal hwnd As Long, ByVal X As Long, ByVal Y As Long, _
    ByVal nWidth As Long, ByVal nHeight As Long, ByVal bRepaint As Long) As Long
Private Type POINTAPI
    X As Long
    Y As Long
End Type
Private Type RECTAPI
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type
Private Type WINDOWPLACEMENT
    Length As Long
    Flags As Long
    ShowCmd As Long
    ptMinPosition As POINTAPI
    ptMaxPosition As POINTAPI
    rcNormalPosition As RECTAPI
End Type
Private Declare Function GetWindowPlacement Lib "User32" _
    (ByVal hwnd As Long, ByRef lpwndpl As WINDOWPLACEMENT) As Long
   
   
   
   
   
    Private Sub MiFuncionDeAjuste(Formulario As Form, Estado As Boolean)
Dim retorno As Long
If Estado = True Then
retorno = SetWindowPos(Formulario.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_FLAGS)
Else
retorno = SetWindowPos(Formulario.hwnd, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_FLAGS)
End If
End Sub
   
   
   
   
   
   
   
   

Private Sub dockForm(ByVal formhWnd As Long, _
                     ByVal picDock As PictureBox, _
                     Optional ByVal ajustar As Boolean = True)
    Call SetParent(formhWnd, picDock.hwnd)
    posDockForm formhWnd, picDock, ajustar
    Call ShowWindow(formhWnd, NORMAL_eSW)
End Sub

Private Sub posDockForm(ByVal formhWnd As Long, _
                        ByVal picDock As PictureBox, _
                        Optional ByVal ajustar As Boolean = True)
    Dim nWidth As Long, nHeight As Long
    Dim wndPl As WINDOWPLACEMENT
    '
    If ajustar Then
        nWidth = picDock.ScaleWidth \ Screen.TwipsPerPixelX
        nHeight = picDock.ScaleHeight \ Screen.TwipsPerPixelY
    Else
        Call GetWindowPlacement(formhWnd, wndPl)
        With wndPl.rcNormalPosition
            nWidth = .Right - .Left
            nHeight = .Bottom - .Top
        End With
    End If
    Call MoveWindow(formhWnd, 0, 0, nWidth, nHeight, True)
End Sub


Private Sub Form_Load()

End Sub

Private Sub Timer2_Timer()
MiFuncionDeAjuste Me, True
End Sub

y listo,asi no se puede salir asta que alguna orden q le des se produzca(unload por ejemplo)

creo q esto ya si es lo que kieres :P :P
un saludo :)


Título: Re: ejecutar en pantalla completa
Publicado por: Freeze. en 27 Septiembre 2007, 22:32 pm
Hay por favor para eso haz esto:

Código
  1. Me.windowstate = 2
  2. Me.BorderStyle = 0
  3.  


Título: Re: ejecutar en pantalla completa
Publicado por: neo-tokyo en 27 Septiembre 2007, 22:50 pm
pero la cosa es que queria adaptar la pantalla a la ventana, si es 800x600 da igual la resolucion da pantalla que se podra a 800x600

he visto la funcion que quiero en openGL y hace exactamente lo que quiero pero nose como ejecutar openGL con vb, he buscao por ahí y creo que se puede hacer pero no he encontrao como utilizar openGL desde vb, la cosa es que pensaba que se podria hacer facilmente desde vb ya que es algo parecido a cuando ejecutas msdos a pantalla completa o cualquier juego tambien lo hace

Saludos


Título: Re: ejecutar en pantalla completa
Publicado por: Ferсhu en 27 Septiembre 2007, 22:57 pm
No se puede hacer el tipico Full screen de los jueguitos. Lo unico q podes hacer es q la ventana de tu aplicacion ocupe toda la pantalla, y determinar primero la resolucion de la pantalla, luego asignarle el tamaño y lo q te dijeron los demas.

Si keres usar OpenGL, Usa c++.


Título: Re: ejecutar en pantalla completa
Publicado por: neo-tokyo en 27 Septiembre 2007, 23:09 pm
OK, pues gracias por vuestras respuestas
Solo querria openGL para esa función así que preferiré optar por vb y que mi aplicación no tenga la presentacioón que yo queria

Un saludo


Título: Re: ejecutar en pantalla completa
Publicado por: Sancho.Mazorka en 27 Septiembre 2007, 23:22 pm
No es necesario irse a C++, openGL tambien esta para VB6, yo tenia varias DLL pero cuando formatee las perdi, DirectX y openGL los maneja VB6


Sancho.Mazorka    :¬¬


Título: Re: ejecutar en pantalla completa
Publicado por: neo-tokyo en 28 Septiembre 2007, 00:25 am
pues eso seria interesante, e incluso en la aplicación en sí podria utilizar otras funciones de openGL ya que esta solo he empezado a crearlo
Si recuerdas los nombres o algun sitio por donde podria buscar


Título: Re: ejecutar en pantalla completa
Publicado por: Xerok1! en 28 Septiembre 2007, 14:51 pm
Citar
Hay por favor para eso haz esto:


Código
Me.windowstate = 2Me.BorderStyle = 0

 :¬¬ :¬¬ :¬¬

en mis posts anteriores ya lo habia dixo yo :¬¬ :¬¬ :¬¬
hay q leer..

un saludo


Título: Re: ejecutar en pantalla completa
Publicado por: Freeze. en 28 Septiembre 2007, 21:37 pm
Pero yo lei, que crees.!!

Citar
Me.WindowState = 2

Eso lo pusiste tu y luego el te dijo que aún se veian los bordes y yo le di la solución.


Título: Re: ejecutar en pantalla completa
Publicado por: Xerok1! en 2 Octubre 2007, 19:40 pm
jajaja pos sigues sin leer  :xD :xD mira
Código:
en las propiedaades del form pones borderstyle "none"

jajaja tranki q era broma no te moskes  ;) ;)

un saludo :P


Título: Re: ejecutar en pantalla completa
Publicado por: Freeze. en 2 Octubre 2007, 20:14 pm
Ah, ok..!

Salu2..! ;)


Título: Re: ejecutar en pantalla completa
Publicado por: ranslsad en 3 Octubre 2007, 16:30 pm
El chico lo que querra es que al iniciar su aplicacion se maximize..
se ponga por encima de todo y yasta..
Sin ir mas lejos, yo porque no toy en mi PC ahora sino te pasaba los codigos :D

Salu2

Ranslsad