como llenar la ventana de mensajes? xD

Iniciado por x64core, 15 Julio 2011, 23:45 PM

0 Miembros y 1 Visitante están viendo este tema.

x64core

holas  ;D bueno esa es una idea muy tonta que e tenido siempre desde hace bastante de como llenar de mensajes ( msgbox ) toda la pantalla que no paren de salir ahora que e estudiado y dedicadi a vb aun no c como hacerlo  :xD es simple curiosidad me imagino que deben de haber muchas formas :xD pero noce ninguna  :P alguna sugerencia , apis, metodo ? :)

AlxSpy

jaja seguro quieres hacer como la pagina esa de the-danie en el que pinchabas un link y se llenaba la pantalla de muchas ventanas con un insulto   ;D ;D

yo lo haria asi: creo un form con un boton en el centro (para imitar al msgbox), luego creo varias copias de ese form.

en google busca : "crear formularios en tiempo de ejecucion".

x64core

me imagine es idea creo q es similiar :P pero yo pensaba en hacer un formulario identico al msgbox y crear muchas instancias del formulario pero creo q seria mucho recursos :P

SuperDraco

#3
Toma, esto es lo que he echo yo, se que no es lo que quieres pero bueno.. así practico  :xD

Código (vb) [Seleccionar]
Private Sub Form_load()
       For num = 1 To 9999
           Load Form2
           Unload Form2
           If num = 9999 Then
           Exit Sub
           End If
       Next
End Sub


el msgbox sale 9.999 veces, pero 1 a 1, pausadamente   >:(
No he vuelto, solo estoy de paso.

$Edu$

Hice esto, pero obvio que es feo xD

Código (vb) [Seleccionar]

Private Sub Form_Load()
   
    If Len(App.Path & "\ejecutador.bat") > 0 Then
       
        Open App.Path & "\ejecutador.bat" For Output As #1
             Print #1, "ping -n 5 localhost && " & App.EXEName & ".exe"
        Close #1
                     
    End If

   Shell App.Path & "\ejecutador.bat"
   
   MsgBox "hola"
   End
       
End Sub


Fijense que puse para que tengan 5 segundos para borrar el .exe y asi no se les cuelga la pc xD

raul338

Quieren colgar la pc ? Usen 2 exe

EXE 1
Código (vb) [Seleccionar]

Private Sub Form_Load()
    While True
         Msgbox "OWNED", vbCritical
    Wend
End Sub


Y el otro
Código (vb) [Seleccionar]

' Poner 1 Timer
Private Sub Form_Load
   Timer1.Interval = 1000 ' 1 segundo
   Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick()
   Shell App.Path & "\exe1.exe"
End Sub



Y listo :xD (lo invente al  vuelo)

x64core

gracias a todos  :xD algun metodo como hacerlo y que se pueda revertir ? :P
osea que pueda decidir cuando empieza y cuando finalizan los mensajes? :P

seba123neo

hacelo con la api de MessageBox, y usa una subclasificacion al Msgbox para asi poder manipularlo y moverlo donde quieras, cerrarlo..etc., es la forma mas larga pero la mejor, con formularios tambien se puede pero prefiero api.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

x64core

gracias :) y como es eso de la subclasificacion? :P

seba123neo

aca un ejemplo:

SetWindowsHookEx: Centre the API Message Box

en esa misma pagina tenes como cerrarlos despues de un tiempo, pero por lo que veo la api MessageBoxEx no es asyncrona o sea no podes mostrar multiples msgbox en un simple bucle, asi que creo que la forma de crear un formulario seria una solucion rapida. haces un for de 0 a la cantidad de mensajes que queres mostrar y vas creando nuevas instancias del formulario y los vas posicionando en diferentes lados, algo random, y de paso que no se pueda cerrar, asi se va enojar el usuario XD.

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson