Desarrollo
Menú
Gamersmafia es ahora un archivo de solo lectura.

Añadiendo

Hola,

Partiendo de los tutoriales:

http://desarrollo.gamersmafia.com/tutoriales/show/753

y

http://desarrollo.gamersmafia.com/tutoriales/show/807

Indicar:

Añadiendo únicamente 2 líneas de código en el evento del botón, provocar que el ordenador deje de responder y posiblemente haya que reiniciarlo.

Hay varias respuestas, sólo la más 'pura' será válida

Regards(las plantas)

Recompensa: 20
Pregunta cancelada
Esta pregunta ha sido cancelada o ha sido resuelta.

Con un simple While-Wend u otra orden repetitiva con una condicion que no se cumple nunca debería bloquearse, por lo menos la aplicación. Lo probaría y te adjuntaria imagenes pero me da pereza meterme con VisualBasic

Hola,

La pregunta no es con qué instrucciones > nunca debería bloquearse
, sino qué dos líneas hay que añadir para que > el ordenador deje de responder y posiblemente haya que reiniciarlo.

La respuesta más precisa se llevará los GM’s.
No es necesario instalarse nada (salvo que quieras probar que efectivamente se cuelga el pc), simplemente hay que escribir/modificar el código del botón:

Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

MessageBox.Show(“ KPS BANEADO! JOJOJOJOJOJOJO!!!”)

End Sub

Regards(las plantas)

Comentario #2 por SinSa:
Hola,

La pregunta no es con qué instrucciones > nunca debería bloquearse
, sino qué dos líneas hay que añadir para que > el ordenador deje de responder y posiblemente haya que reiniciarlo.

La respuesta más precisa se llevará los GM’s.
No es necesario instalarse nada (salvo que quieras probar que efectivamente se cuelga el pc), simplemente hay que escribir/modificar el código del botón:

Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

MessageBox.Show(“ KPS BANEADO! JOJOJOJOJOJOJO!!!”)

End Sub

Regards(las plantas)

Perdona, me dejé una coma y no se entendió bien lo que queria expresar. Después del nunca va una coma, es decir que con una condicion que nunca se cumple se bloquearía.

De igual forma no concreto tanto como pides, no he tocado nunca VisualBasic asi que desconozco el juego de instrucciones que utiliza

Hola,

La cosa se complica…
He hecho una chapucilla y almenos he conseguido colgar el VB… pero nada que no se solucione con un ctrl+alt+sup:

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    MessageBox.Show(" KPS BANEADO! JOJOJOJOJOJOJO!!!")
    **While MessageBox.Show(" KPS BANEADO! JOJOJOJOJOJOJO!!!")
    End While**
End Sub End Class

..se entiende no?.. he intentado que muestre el mensaje siempre que se muestre el mensaje y así crear el bucle.

…mañana sigo probando…

Un saludo

Hola,

Comentario #3 por cRasH.:
#2 Perdona, me dejé una coma y no se entendió bien lo que queria expresar. Después del nunca va una coma, es decir que con una condicion que nunca se cumple se bloquearía.

De igual forma no concreto tanto como pides, no he tocado nunca VisualBasic asi que desconozco el juego de instrucciones que utiliza

Concreta, concreta

Comentario #4 por Julius_Heide:
Hola,

La cosa se complica…
He hecho una chapucilla y almenos he conseguido colgar el VB… pero nada que no se solucione con un ctrl+alt+sup:

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    MessageBox.Show(" KPS BANEADO! JOJOJOJOJOJOJO!!!")
    **While MessageBox.Show(" KPS BANEADO! JOJOJOJOJOJOJO!!!")
    End While**
End Sub End Class

..se entiende no?.. he intentado que muestre el mensaje siempre que se muestre el mensaje y así crear el bucle.

…mañana sigo probando…

Un saludo

Sigue en esa línea. Colgar el VB es el primer paso, después tu equipo y por último internet entero ¡Jouajojojojojo!

Regards(las plantas)

Hola,

de diferentes maneras… pero solo consigo colgar la aplicación…

Hay pista?

Comentario #5 por SinSa:
Hola,

#3 Concreta, concreta

#4 Sigue en esa línea. Colgar el VB es el primer paso, después tu equipo y por último internet entero ¡Jouajojojojojo!

Regards(las plantas)

Haria algo parecido a lo de

Comentario #6 por Julius_Heide:
Hola,

de diferentes maneras… pero solo consigo colgar la aplicación…

Hay pista?

…

Voy a bajarme el VB y a probar porque al final…

P.D: Seguro que son solo dos lineas de codigo? Poca cosa se puede hacer aparte de lo de

Comentario #6 por Julius_Heide:
Hola,

de diferentes maneras… pero solo consigo colgar la aplicación…

Hay pista?

Hola,

Estáis cerca, pensad en cómo harías para que la aplicación se ‘saliese’ de su entorno.

Regards(las plantas)

El problema es que siempre queda la combinación Ctrl+Alt+Sup, con lo que con 2 líneas de código no logras mucho

Tengo el comprobar que no esté abierto el Control de Procesos y el bloquear la combinación de teclas

Me queda colgar todo el sistema y no el visual sólo

Hola,

La pregunta es.. dejando a parte los ‘pantallazos’, cuándo y por qué el pc deja de responder..

El PC deja de funcionar cuando el buffer de memoria se llena o se llama a una función no válida cargando datos innecesarios, el PC se atasca en órdenes que no llevan a ningún sitio y que apuntan a instrucciones que no tienen solución o continuidad en el programa

O cuando recibe un numero de operaciones infinitas… (creo yo.. que llevo poco en esto ) que es lo que pensaba hacer yo, pero eso ya son 3 lineas o incluso 4. El while + condicion, instruccion, fin de while… y no se si habria que declarar algo por ahi asi q… Lo de las 2 lineas ya no lo cumple.

Hola,

Lo dicho por

Comentario #12 por cRasH.:
O cuando recibe un numero de operaciones infinitas… (creo yo.. que llevo poco en esto ) que es lo que pensaba hacer yo, pero eso ya son 3 lineas o incluso 4. El while + condicion, instruccion, fin de while… y no se si habria que declarar algo por ahi asi q… Lo de las 2 lineas ya no lo cumple.

ha de tenerse en cuenta

Pero lo de

Comentario #12 por cRasH.:
O cuando recibe un numero de operaciones infinitas… (creo yo.. que llevo poco en esto ) que es lo que pensaba hacer yo, pero eso ya son 3 lineas o incluso 4. El while + condicion, instruccion, fin de while… y no se si habria que declarar algo por ahi asi q… Lo de las 2 lineas ya no lo cumple.

son operaciones que dan esa situación pero es “recuperable” no te deja el PC totalmente colgado

Bueno, he intentado otra cosa pero sigue petando solamente la aplicación

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    MessageBox.Show(" KPS BANEADO! JOJOJOJOJOJOJO!!!")

    While 340350000021312 + 112312312312313 = 452662312333625

    End While

End Sub

End Class

Creo que los tiros van por ahi, pero sigo creyendo que con 2 lineas solo…

Hola,

mmm cRasH, lo tuyo bloquea más que lo que yo estaba haciendo. En los mios no se cuelga, se queda bloqueado.

Una observación: funciona igual si pones “while 1 + 1 = 2”

… yo creo que el tema está en el condicionante… osea, en poner uno que bloquee o que llene la memoria… no?

SinSa:-…pensad en cómo harías para que la aplicación se ‘saliese’ de su entorno

Lo tuyo hacia que el mensaje saliese infinitas veces hasta que finalizases la aplicacion manualmente, el mio cuelga la aplicacion pero colgar el PC…. Hm!

Hola,

Estáis muy cerca, en serio. Me dan ganas de decirlo.
Voy a dejar esta semana para que le sigáis dando vueltas, pero tenéis la solución delante.

Regards(las plantas)

Hm, he probado poniendo una division entre 0 pero sigue bloqueandose solamente la aplicación

A ver que mas se me ocurre…

Editado: Creo que lo he conseguido sin añadir ninguna linea de codigo… He conseguido hacer una foto del pc bloqueado para demostrarlo!

Lo siento, me he contagiado del humor de Sinsa

Editado: Hm, no se veia bien..

Editado: [url=https://img522.imageshack.us/my.php?image=bloqueadoxdsc6.jpg][/url]

Hola,

Comentario #19 por cRasH.:
Hm, he probado poniendo una division entre 0 pero sigue bloqueandose solamente la aplicación

A ver que mas se me ocurre…

Editado: Creo que lo he conseguido sin añadir ninguna linea de codigo… He conseguido hacer una foto del pc bloqueado para demostrarlo!

Lo siento, me he contagiado del humor de Sinsa

Editado: Hm, no se veia bien..

Editado: [url=https://img522.imageshack.us/my.php?image=bloqueadoxdsc6.jpg][/url]

Al menos creatividad demuestras

Regards(las plantas)

La madre que os pario………

While es un bucle condicional de mientras……

Mientras (5+1)= 7 ‘ cabrones que esta condición jamas se cumplirá…….

lo adecuado es dentro del While incrementar, por ejemplo

dim i as integer

While i=5 sino se cumple entra en el bucle

i++ ‘incrementamos i esto es lo mimos que i=i+1

wend

Si por lo contrario queréis usar un bucle que ya sabéis cuantos pasos queréis moveros utilizar
la instrucción “for”.

Comentario #21 por Xaver:
La madre que os pario………

While es un bucle condicional de mientras……

Mientras (5+1)= 7 ‘ cabrones que esta condición jamas se cumplirá…….

lo adecuado es dentro del While incrementar, por ejemplo

dim i as integer

While i=5 sino se cumple entra en el bucle

i++ ‘incrementamos i esto es lo mimos que i=i+1

wend

Si por lo contrario queréis usar un bucle que ya sabéis cuantos pasos queréis moveros utilizar
la instrucción “for”.

Tranquilo Xaver, eso lo sabemos . El problema es que solo se pueden añadir 2 lineas de codigo. Si has de declarar la variable y añadir instruccion al bucle ya son más de 2

Hola,

Bueno, parece que la pregunta era demasiado difícil, pese a que he dado varias pistas para lograrlo.

En

Comentario #8 por SinSa:
Hola,

Estáis cerca, pensad en cómo harías para que la aplicación se ‘saliese’ de su entorno.

Regards(las plantas)

y

Comentario #10 por SinSa:
Hola,

La pregunta es.. dejando a parte los ‘pantallazos’, cuándo y por qué el pc deja de responder..

os doy claves importantes. Colgar la aplicación es fácil, cualquier bucle infinito lo consigue (habéis puesto algún ejemplo). Pero para colgar el pc hay que hacer que la aplicación se salga de sí misma provocando que se consuman los recursos que el pc tiene para las demás aplicaciones que están corriendo en él.

¿Cómo hacer ésto? ya lo comenté en los tutos previos:
WshShell.Exec(“APLICACION”)
Esto fuerza al sistema operativo a que arranque una nueva aplicación.
De manera que si yo genero una llamada a una aplicación infinitas veces, reviento el pc.

While True ‘<—- bucle infinito
WshShell.Exec(“APLICACION”)
End While

Esta solución (o variantes con otros modos de bucle) la habría dado como válida (se añaden tres líneas pero una se sutituye por la existente del messagebox). Pero realmente para que funcione hay que declarar el shell de sist. operativo (Dim WshShell = CreateObject(“WScript.Shell”)), por lo que realmente no es la solución pura.

La más pura, que desencadena en una de las paradojas de la programación más curiosas e interesantes, se basa en el concepto de RECURSIVIDAD (¡Leñe, la recursividad!, cómo no había caído..) jejejeje.. seguro que alguno ha oído hablar de la solución de las torres de Hanoi.. google si no.

Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Button1_Click_1(Me, AcceptButton)
End Sub

Una sóla línea, y se muere el pc. He de decir que si lo pilláis a tiempo, podéis evitar el reinicio, pero yo no aconsejo probarlo con muchas aplicaciones abiertas ni muchas veces.
A ver si alguien es capaz de ‘explicar’ qué es lo que provoca esta instrucción.

Bueno, os deseo mejor suerte la próxima vez.
Los gm’s los añadiré a la próxima pregunta

Regards(las plantas)

Pffffff Muy buena SinSa, muy interesante y para nada habia pensado en ello.

A ver la proxima que tal… Y lo de la explicación… tengo una cierta idea pero no quiero soltar una barbaridad

tengo una cierta idea pero no quiero soltar una barbaridad

Se valiente, no creo que ganes en barbaridades a……. esto…. no creo que ganes en barbaridades.

Hola a todos,

Antes de nada, comentar que de visualBasic lo máximo que he hecho ha sido toquetear el editor del MS office (alt + f11)… osea… graba macro.. edita y asigna (os paso unos tutos que me pasaron hace mucho tiempo: https://perso.wanadoo.es/gabucio/Macros_Excel.zip)..

Así que de la primera solución no me entero mucho… pero en la segunda me da un error:

Un saludo,

PD: SinSa, muy interesante lo de las torres de Hanoi, contigo siempre se aprende algo nuevo.

Hola,

Comentario #26 por Julius_Heide:
Hola a todos,

Antes de nada, comentar que de visualBasic lo máximo que he hecho ha sido toquetear el editor del MS office (alt + f11)… osea… graba macro.. edita y asigna (os paso unos tutos que me pasaron hace mucho tiempo: https://perso.wanadoo.es/gabucio/Macros_Excel.zip)..

Así que de la primera solución no me entero mucho… pero en la segunda me da un error:

Un saludo,

PD: SinSa, muy interesante lo de las torres de Hanoi, contigo siempre se aprende algo nuevo.

¿Has ejecutado el código desde el VB o desde el ejecutable compilado?

Para la primera opción, en el código del botón escribe:

Dim WshShell = CreateObject(“WScript.Shell”)

While True ‘<—- bucle infinito

WshShell.Exec(“calc”)

End While

Para la segunda simplemente:

Button1_Click_1(Me, AcceptButton)

Y ya te funciona.

Regards(las plantas)

Top sabios
ObiJu 186
Draco351 110
Mave 105
Alim_Jah 97
ReNeGaDo 72
2_Face 60
Casti 60
AlbeR. 57
Anferne 50
Samu. 49
Un punto = una mejor respuesta
Más preguntas de SinSa
Ver todas sus preguntas (5)