Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Eleкtro

#5731
Scripting / Re: Juego de loteria - batch
2 Febrero 2015, 23:31 PM
Cita de: gerhy13 en  2 Febrero 2015, 22:43 PMGracias por decirmelo ya esta arreglado

Si tu idioma natural es inglés entonces porfavor modifica tu post y adjunta el texto original abajo del todo (en inglés), que lo entenderé mucho mejor que la traducción de Google a Spanish xD.

De todas formas si no he entendido mal creo que lo que quieres hacer es esto:
Código (dos) [Seleccionar]
@Echo OFF & Setlocal EnableDelayedExpansion

REM %RANDOM% Keep this line written.
Set /A "randValue=%RANDOM% %%9999" & Rem From 0 to 9999.
Set /A "tries=7"

Call :Play "%tries%"
Pause&Exit /B 0

:Play
For /L %%# In (0, 1, %~1) Do (

Echo Attempt %%# of %~1:
Set /P "userValue=Which is the random value between 0 and 9999 that I'm thinking?:"

If "!UserValue!" EQU "%randValue%" (
Echo Correct, the random number is !UserValue!, you're kinda magician?.
Echo+
Exit /B 0
) Else (
Echo Fail, try again.
Echo+
)

If "%%#" EQU "%~1" (
Echo You lost all the tries.
Echo Try better luck next time.
Exit /B 0

)
)


Output:


Saludos
#5732
EDITO:
Antes de nada debo decir que el ejemplo proporcionado por el compañero @Mini_Nauta no te funcionará en caso de error de sintaxis, ya que al intentar procesarse una isntrucción que contenga un error de sintaxis no se redireccionará ningún flujo de datos hacia el archivo, simplemente se seguirá cerrando la instancia de la CMD de forma inesperada como se cerraba anteriormente.




Cita de: ElCreeperHD en  2 Febrero 2015, 19:14 PM
Estoy haciendo bastantes archivos .bat ultimamente... a veces no se si el archivo bat se ejecuta bien o mal, porque ejecuta el codigo y se cierra tan rapido que no alcanzo a ver si funciono. Por esto, me gustaria saber si hay alguna manera de que el bat genere un archivo de texto con un log.

Existe una solución más simple que generar un log, si quieres conocer el motivo por el cual la instancia de la CMD se cierra inesperadamente (aunque ya te digo que si se cierra inesperadamente solo será por un motivo, por un error de sintaxis), entonces solo debes ejecutar el archivo.bat directamente desde la CMD, y no haciendo doble click sobre el archivo.
Aparte de ejecutarlo desde la CMD, has de asegurarte de que no usas la instrucción "Exit" en el script para finalizar su ejecucuón, ya que la CMD también se cerrará, en su lugar usa un Pause temporalmente.

Dicho esto, generar un log en una herramienta tan simple como Batch es algo muy tedioso y poco viable si realmente se quiere hacer bien siguiendo una estructura,
primero de todo porque una consola no puede redirigir el mismo flujo de datos hacia 2 salidas distintas, es decir, mostrar el error en la consola y luego registrar ese error en un archivo de texto, o lo mismo con la salida de información, eso no es posible de manera natural, por otro lado, existen herramientas como Tee o WinTee que te permiten redirigr el mismo flujo de datos a dos salidas, pero estos programas solo actuan con la salida normal (Standard Output), no sirven para registrar errores:
http://sourceforge.net/projects/gnuwin32/files/coreutils/5.3.0/coreutils-5.3.0-bin.zip/download?use_mirror=sunet&download=
http://code.google.com/p/wintee/downloads/list

Aparte de eso, un error de sintaxis cerrará la CMD de forma inmediata, así que se necesita otro tipo de tratamiento para registrar ese tipo de error, y el tratamiento podría ser ejecutarlo en una nueva instancia de la CMD, ejemplo:
Código (dos) [Seleccionar]
@Echo OFF
(Call CMD.exe /C "For")1> ".\registro.log" 2>&1
Pause&Exit /B 0


registro.log:
La sintaxis del comando no es correcta.


Resumiendo, si quieres hacerlo bien, debes omitir el registro del flujo normal y registrar solamente el flujo de error, es decir, los mensajes de error que pueda haber, ya que o muestras la información en la consola o lo haces en el log (a menos que utilices Tee para el redireccionamiento),
y lo debes hacer ejecutando en una nueva instancia de la CMD todos los comandos o aquellos comandos que creas que pueden ser problematicos, para evitar cierres inesperados por errores de sintaxis y así poder registrarlos.

Ejemplo:

Código (dos) [Seleccionar]
@Echo OFF & Title Batch-Script Debug and Logging Simple Example by Elektro

Set "logFile=.\Registro.log"
Echo+>"%logFile%"

(Echo [+] About to run command: "For %%%%a In (*.ext) Do (Echo %%%%a)"...)   1>>"%logFile%"
(Call CMD.exe /C "For %%%%a In (*) Do (Echo %%%%a)")                         1>>"%logFile%" 2>&1

(Echo [+] About to run command: "For # In () Do ()"...)                      1>>"%logFile%"
(Call CMD.exe /C "For # In () Do ()")                                        2>>"%logFile%"

Pause&Exit /B 0


registro.log:
[+] About to run command: "For %%a In (*.*) Do (Echo %%a)"...
archivo1.ext
archivo2.ext

[+] About to run command: "For # In () Do ()"...
No se esperaba # en este momento.


Como ves, resulta bastante tedioso Batch.

Para acabar quiero añadir que también puedes utilizar otros operadores de redireccionamiento para comprobar si un comando da error, pero en este caso no me ha parecido lo mas conveniente, te muestro un ejemplo breve:

Código (dos) [Seleccionar]
(Dir /B "*.ext") && (
Echo Success
) || (
Echo Error
)


Saludos
#5733
Cita de: nevachana en  2 Febrero 2015, 20:14 PMYa sé que no es limpio es mi primera aplicación en autoit
No te preocupes, aquí nadie es mejor que nadie y todos vienen a aprender.

Cita de: nevachana en  2 Febrero 2015, 20:14 PMpero la idea que me has dado serviría para buscarlo por toda la pantalla?
Hombre, por supuesto, solo debes obtener la imagen de la zona donde quieras buscar (puede ser una captura de la pantalla completa, claro), y si la imagen es demasiado grande redimensionar la imagen a unas dimensiones que te permitan realizar la búsqueda y comparación de imagen de una forma eficiente, rápida, pero sin aumentar el margen de falsos positivos, buscando esa relación (ej: 100x100 píxeles quizás, depende).

EDITO:
No me ha quedado claro que camino vas a tomar para llevarlo a cabo, pero bueno vuelvo a aconsejarte utilizar la librería de AForge.Net, aunque he visto algoritmos de pago mucho más rápidos que obtienen los mismos o mejores resultados, pero AForge es excelente para ser gratis.

Realizar un algoritmo de ese estilo es relativamente fácil, de forma básica, pero es un tema muy delicado ya que procesar/comparar una imagen, una imagen que sea grande, es una operación muy lenta (y si usas metodologías anticuadas lo es aun mucho más), si no optimizas tu propio algoritmo hasta el punto que puede llegar a optimizarlo un grupo de desarrolladores profesionales en el tema que están vendiendo un producto de ese estilo entonces te puede quedar un algoritmo muy lento o incompetente en otros sentidos, y yo no soy ningún gurú en la optimización de este tema, pero llegué a implementar funcionalidades GPU para aumentar la velocidad de procesamiento de imagen y aun así no me convenció mucho el resultado que obtuve, sigo prefiriendo la estabilidad de AForge.

Saludos
#5734
Buenas

He probado a publicar y luego modificar un comentario, lo he podido hacer sin problemas con mi antiguo usuario "pitoloko", que carece de privilegios:
http://foro.elhacker.net/noticias/cazar_vulnerabilidades_para_google_tiene_premio_1500_millones_en_recompensas-t429221.0.html

Citarerror, porfavor borrar este mensaje

(modificado..)
« Última modificación: Hoy a las 19:08 por pitoloko »

¿Estás seguro que estabas logueado en ese momento, o que el post no estaba bloqueado con candado?

Saludos!
#5735
Buenas

Colocaste incorrectamente las urls de las imágenes, porfavor corríge las urls para que podamos entender cual el problema e intentar solucionar la causa del mismo.

Dependiendo de la versión y la edición de Windows que tengas, puedes acceder a una herramienta llamada gpedit.msc para administrar las políticas de grupo (la puedes encontrar junto al resto de applets y herramientas de Windows en el directorio C:\Windows\System32), aunque si careces de dicha herramienta también puedes hacerlo de forma bastante más tediosa/incómoda desde el registro de Windows.

EDITO: También puedes probar a restaurar los valores por defecto de las políticas de grupo:
How to Reset Local Group Policy to Default in Vista, Windows 7, and Windows 8
(no lo he probado)


Saludos!
#5736
Windows / Re: Registros de Windows arruinados
2 Febrero 2015, 18:10 PM
Puedes utilizar un LiveCD de Windows para acceder a los archivos del SO que no deja loguearte:
http://lmgtfy.com/?q=windows+7+livecd

Hazlo si tienes la oportunidad, para mostrarnos el contenido del Batch-Script y así podré analizarlo para confirmarte si realmente ha hecho cambios perjudiciales en tu PC,
en caso de haber cambios perjudiciales en el registro, en la mayoría de los casos siempre podrás revertirlos a sus valores originales, si solo es eso puedo intentar ayudarte a solucionarlos.

PD: Y especifica tu versión de Windows.

EDITO: También podrías crear, desde la consola de recuperación de tu dvd de Windows, una nueva cuenta de usuario que te permitiría acceder a los archivos como una solución temporal, aunque no puedo asegurarte si la nueva cuenta te funcionará sin saber que cambios hiciste.

EDITO2: Te sugiero utilizar está aplicación Todo-En-Uno como última alternativa para intentar reparar distintos problemas del registro de Windows que tal vez estén relacionados con problemas respecto a tu sesión de usuario (intentalo desde una sesión de usuario secundaría si no puedes acceder a tu sesión actual en modo seguro):
http://www.tweaking.com/content/page/windows_repair_all_in_one.html

Saludos!
#5737
Cita de: estebankpo15 en  1 Febrero 2015, 21:57 PMAlguien sabe alguna manera de solucionar esto?

Hay varías maneras.

La primera manera, y también las más eficiente, sería reemplazar el uso de un TextBox para utilizar el control más adecuado a tu situación actual y así seguir buenas prácticas de programación, tienes 2 posibilidades y ambas sin mayores complicaciones:
1) Un control de tipo NumericUpDown para rangos numéricos (ej: 0 - 100).
2) Un control de tipo MaskedTextbox para máscaras numéricas (ej: nnn.nnn.nnn.nnn).

Ahora bien, supongamos que por el motivo que sea prefieres omitir el consejo de arriba y seguir utilizando un TextBox, pues bien, soluciones:

1) Utilizar una expresión regular ("^\d+$") y evaluarla o utilizar los métodos de validación del Type Char, suscribiéndote al evento KeyPress para comprobar si el caracter es un número, pero esto sería una solución horrible ya que estariamos descuidando otros factores a tener en cuenta, de todas formas mostraré un ejemplo breve por si quieres ir a lo sencillo:
Código (vbnet) [Seleccionar]
   ''' <summary>
   ''' Handles the KeyPress event of the TextBox1 control.
   ''' </summary>
   ''' <param name="sender">The source of the event.</param>
   ''' <param name="e">The <see cref="KeyPressEventArgs"/> instance containing the event data.</param>
   Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs) _
   Handles TextBox1.KeyPress

       e.Handled = Not Char.IsNumber(e.KeyChar)

   End Sub


2) Cómo he dicho la solución anterior es horrible, ¿por qué?, por que para evitar completamente que se puede añadir "X" caracter en un TextBox corriente, debes tener varias cosas más en cuenta, como el menú contextual (Edit menu), los atajos de teclado Windows (System-wide Hotkeys), y la característica de soltar y arrastrar (Drag&Drop) en caso de que desees añadirle dicha funcionalidad.

Así pues, otra manera que aportaría mayor eficiencia, libertad, y personalización, sería definir un set de caracteres permitidos, y cancelar la escritura del caracter en el evento KeyPress cuando dicho caracter no se encuentre dentro de los caracteres permitidos:

Para ello he implementado el uso de dicha técnica desarrollando un user-control (el cual se puede mejorar en muchos sentidos, ya que no le puse demasiado empeño en la elaboración del código).

Modo de empleo:
Código (vbnet) [Seleccionar]
Imports WindowsApplication1.ElektroTextBox

Public Class TestForm

   Private WithEvents etb As New ElektroTextBox

   Private Sub TestForm_Load() Handles MyBase.Load

       With Me.etb
           .AllowDrop = True
           .DisableEditMenu = True
           .CurrentCharSet = CharSet.StandardAlphabetic Or
                             CharSet.StandardSymbols Or
                             CharSet.Numeric

       End With

#If DEBUG Then
       Debug.WriteLine("ElektroTextBox has been initialized...")
       Debug.WriteLine(String.Format("Current CharSet Int: {0}", CStr(etb.CurrentCharSet)))
       Debug.WriteLine(String.Format("Current CharSet Str: {0}", etb.CurrentCharSet))
       Debug.WriteLine(String.Format("CharSet Characters : {0}", String.Join(String.Empty, etb.CurrentCharSetChars)))
#End If

       MyBase.Controls.Add(Me.etb)

   End Sub

End Class


Source:
Nota: Las características del menú contextual se pueden manejar también con los mensajes de Windows que procesa la ventana, WM_COPY, WM_CUT, y WM_PASTE, pero he preferido omitir la intercepción y el procesamiento de mensajes de Windows para no cargar más de la cuenta el user-control con operaciones innecesarias (y tambien porque como ya dije no le he puesto tanto empeño para su elaboración).

Código (vbnet) [Seleccionar]
' ***********************************************************************
' Author   : Elektro
' Modified : 02-February-2015
' ***********************************************************************
' <copyright file="ElektroTextBox.vb" company="Elektro Studios">
'     Copyright (c) Elektro Studios. All rights reserved.
' </copyright>
' ***********************************************************************

#Region " Imports "

Imports System.ComponentModel

#End Region

''' <summary>
''' An extended TextBox with character validation capabilities.
''' </summary>
Public NotInheritable Class ElektroTextBox : Inherits TextBox

#Region " Properties "

   ''' <summary>
   ''' Gets or sets a value indicating whether
   ''' the default <see cref="ContextMenuStrip"/> for this <see cref="ElektroTextBox"/> instance is disabled.
   ''' </summary>
   ''' <value>
   ''' <c>true</c> if <see cref="ContextMenuStrip"/> is disabled for this <see cref="ElektroTextBox"/> instance;
   ''' <c>false</c> otherwise.</value>
   Public Property DisableEditMenu As Boolean = False

   ''' <summary>
   ''' An empty <see cref="ContextMenuStrip"/> that replaces the default <see cref="ContextMenuStrip"/>
   ''' when <see cref="DisableEditMenu"/> property is set to <c>true</c>.
   ''' of this <see cref="ElektroTextBox"/> instance.
   ''' </summary>
   Private ReadOnly emptynessContextMenuStrip As ContextMenuStrip

   ''' <summary>
   ''' Gets or sets the character-set that contains the allowed characters to fill this <see cref="ElektroTextBox"/> instance.
   ''' </summary>
   ''' <value>The character-set that contains the allowed characters to fill this <see cref="ElektroTextBox"/> instance.</value>
   <Description("The characters that are allowed to fill this ElektroTextBox")>
   Public Property CurrentCharSet As CharSet
       Get
           Return Me.currentCharSet1
       End Get
       Set(ByVal value As CharSet)
           Me.currentCharSet1 = value
           Me.currentCharSetChars1 = Me.GetCharSetChars(value)
       End Set
   End Property
   ''' <summary>
   ''' The character-set that contains the allowed characters to fill this <see cref="ElektroTextBox"/> instance.
   ''' </summary>
   Private currentCharSet1 As CharSet = CharSet.StandardAlphabetic Or CharSet.StandardSymbols Or CharSet.Numeric

   ''' <summary>
   ''' Gets the characters of the current character-set.
   ''' </summary>
   ''' <value>The characters of the current character-set.</value>
   Public ReadOnly Property CurrentCharSetChars As IEnumerable(Of Char)
       Get
           Return Me.currentCharSetChars1
       End Get
   End Property
   ''' <summary>
   ''' The characters of the current character-set.
   ''' </summary>
   Private currentCharSetChars1 As IEnumerable(Of Char) = Me.GetCharSetChars(Me.currentCharSet1)

   ''' <summary>
   ''' Determines whether a pasting operation is requested.
   ''' </summary>
   Private isPasteRequested As Boolean = False

   ''' <summary>
   ''' Determines whether the 'Enter' key is requested.
   ''' </summary>
   Private isEnterKeyRequested As Boolean = False

   ''' <summary>
   ''' Determines whether the 'Backspace' key is requested.
   ''' </summary>
   Private isBackspacekeyRequested As Boolean = False

   ''' <summary>
   ''' Determines whether an unknown key is requested.
   ''' </summary>
   Private isUnknownKeyRequested As Boolean = False

   ''' <summary>
   ''' Contains pre-defined <see cref="ElektroTextBox"/> character sets.
   ''' </summary>
   Public NotInheritable Class CharSets

       ''' <summary>
       ''' Gets the standard alphabetic character set.
       ''' </summary>
       ''' <value>The standard alphabetic character set.</value>
       Public Shared ReadOnly Property CharSetStandardAlpha As IEnumerable(Of Char)
           Get
               Return "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
           End Get
       End Property

       ''' <summary>
       ''' Gets the standard symbols character set.
       ''' </summary>
       ''' <value>The standard symbols character set.</value>
       Public Shared ReadOnly Property CharSetStandardSymbols As IEnumerable(Of Char)
           Get
               Return """|@·#$~%&¬/\()[]{}<>?!,;.:'¨^-_+=*"
           End Get
       End Property

       ''' <summary>
       ''' Gets the numerical character set.
       ''' </summary>
       ''' <value>The numerical character set.</value>
       Public Shared ReadOnly Property CharSetNumeric As IEnumerable(Of Char)
           Get
               Return "1234567890"
           End Get
       End Property

       ''' <summary>
       ''' Gets the Spanish alphabetic character set.
       ''' </summary>
       ''' <value>The Spanish alphabetic character set.</value>
       Public Shared ReadOnly Property CharSetSpanishAlpha As IEnumerable(Of Char)
           Get
               Return CharSetStandardAlpha.Concat("ñáéíóúàèìòùäëïöüÑÁÉÍÓÚÀÈÌÒÙÄËÏÖÜ")
           End Get
       End Property

       ''' <summary>
       ''' Gets the Spanish symbols character set.
       ''' </summary>
       ''' <value>The Spanish symbols character set.</value>
       Public Shared ReadOnly Property CharSetSpanishSymbols As IEnumerable(Of Char)
           Get
               Return CharSetStandardSymbols.Concat("ºª¿¡`´€")
           End Get
       End Property

       ''' <summary>
       ''' Gets the Catalonian alphabetic character set.
       ''' </summary>
       ''' <value>The Catalonian alphabetic character set.</value>
       Public Shared ReadOnly Property CharSetCatalonianAlpha As IEnumerable(Of Char)
           Get
               Return CharSetStandardAlpha.Concat("çáéíóúàèìòùäëïöüÇÁÉÍÓÚÀÈÌÒÙÄËÏÖÜ")
           End Get
       End Property

       ''' <summary>
       ''' Gets the Catalonian symbols character set.
       ''' </summary>
       ''' <value>The Catalonian symbols character set.</value>
       Public Shared ReadOnly Property CharSetCatalonianSymbols As IEnumerable(Of Char)
           Get
               Return CharSetSpanishSymbols
           End Get
       End Property

       ''' <summary>
       ''' Gets the roman numerals characters set.
       ''' </summary>
       ''' <value>The roman numerals characters set.</value>
       Public Shared ReadOnly Property CharSetRomanNumerals As IEnumerable(Of Char)
           Get
               Return "IVXLCDM"
           End Get
       End Property

   End Class

#End Region

#Region " Enumerations "

   ''' <summary>
   ''' Specifies a <see cref="ElektroTextBox"/> character set.
   ''' These values can be combined.
   ''' </summary>
   <FlagsAttribute>
   Public Enum CharSet As Integer

       ''' <summary>
       ''' Any character set.
       ''' This will disable any character typing on the <see cref="ElektroTextBox"/> instance.
       ''' </summary>
       None = 0

       ''' <summary>
       ''' Standard alphabetic characters.
       ''' </summary>
       StandardAlphabetic = 1

       ''' <summary>
       ''' Standard symbol characters.
       ''' </summary>
       StandardSymbols = 2

       ''' <summary>
       ''' Numeric characters.
       ''' </summary>
       Numeric = 4

       ''' <summary>
       ''' Spanish alphabetic characters.
       ''' </summary>
       SpanishAlphabetic = 8

       ''' <summary>
       ''' Spanish symbol characters.
       ''' </summary>
       SpanishSymbols = 16

       ''' <summary>
       ''' Catalonian alphabetic characters.
       ''' </summary>
       CatalonianAlphabetic = 32

       ''' <summary>
       ''' Catalonian symbol characters.
       ''' </summary>
       CatalonianSymbols = 64

       ''' <summary>
       ''' Roman numerals characters.
       ''' </summary>
       RomanNumerals = 128

   End Enum

#End Region

#Region " Constructors "

   ''' <summary>
   ''' Initializes a new instance of the <see cref="ElektroTextBox"/> class.
   ''' </summary>
   Public Sub New()
       Me.emptynessContextMenuStrip = New ContextMenuStrip
   End Sub

#End Region

#Region " Overriden Events "

   ''' <summary>
   ''' Raises the <see cref="E:Control.Enter"/> event.
   ''' </summary>
   ''' <param name="e">An <see cref="T:EventArgs"/> that contains the event data.</param>
   Protected Overrides Sub OnEnter(ByVal e As EventArgs)

       Me.ToggleEditMenu(Me.DisableEditMenu)
       MyBase.OnEnter(e)

   End Sub

   ''' <summary>
   ''' Raises the <see cref="E:Control.MouseEnter"/> event.
   ''' </summary>
   ''' <param name="e">An <see cref="T:EventArgs" /> that contains the event data.</param>
   Protected Overrides Sub OnMouseEnter(ByVal e As EventArgs)

       Me.ToggleEditMenu(Me.DisableEditMenu)
       MyBase.OnMouseEnter(e)

   End Sub

   ''' <summary>
   ''' Raises the <see cref="E:Control.KeyDown"/> event.
   ''' </summary>
   ''' <param name="e">A <see cref="T:KeyEventArgs"/> that contains the event data.</param>
   Protected Overrides Sub OnKeyDown(ByVal e As KeyEventArgs)

       If (e.KeyCode = Keys.Enter) Then ' Enter key.
           ' Let handle the 'Enter' key on 'KeyPress' event for proper evaluation.
           Me.isEnterKeyRequested = True

       ElseIf (e.KeyCode = Keys.Back) Then ' Backspace key.
           ' Let handle the 'Enter' key on 'KeyPress' event for proper evaluation..
           Me.isBackspacekeyRequested = True

       ElseIf (e.KeyCode = Keys.C) AndAlso (e.Modifiers = Keys.Control) Then ' CTRL+C hotkey.
           ' Allow to copy text.
           e.Handled = False
           e.SuppressKeyPress = True
           MyBase.Copy()

       ElseIf (e.KeyCode = Keys.X) AndAlso (e.Modifiers = Keys.Control) Then ' CTRL+X hotkey.
           ' Allow to cut text.
           e.Handled = False
           e.SuppressKeyPress = True
           MyBase.Cut()

       ElseIf (e.KeyCode = Keys.V) AndAlso (e.Modifiers = Keys.Control) Then ' CTRL+V hotkey.
           ' Let handle the text pasting on 'KeyPress' event for proper character(s) evaluation.
           Me.isPasteRequested = True

       Else ' Unhandled character.
           ' Let handle the unknown char on 'KeyPress' event for proper character evaluation.
           Me.isUnknownKeyRequested = True

       End If

#If DEBUG Then ' Helper.
       Debug.WriteLine(String.Format("Modifiers:{0} KeyCode:{1} KeyData:{2} KeyValue:{3} ",
                                     e.Modifiers.ToString,
                                     e.KeyCode.ToString,
                                     e.KeyData.ToString,
                                     e.KeyValue.ToString))
#End If

       MyBase.OnKeyDown(e)

   End Sub

   ''' <summary>
   ''' Raises the <see cref="E:Control.KeyPress"/> event.
   ''' </summary>
   ''' <param name="e">A <see cref="T:KeyPressEventArgs"/> that contains the event data.</param>
   Protected Overrides Sub OnKeyPress(ByVal e As KeyPressEventArgs)

       If isPasteRequested Then
           ' Allow to paste text only if all characters are allowed characters.
           e.Handled = Not Me.StringHasNonAllowedChars(Clipboard.GetText, Me.currentCharSetChars1)
           Me.isPasteRequested = False

       ElseIf isBackspacekeyRequested Then
           ' Allow character deletion.
           e.Handled = False
           Me.isBackspacekeyRequested = False

       ElseIf isEnterKeyRequested Then
           ' Allow the effects of Enter key.
           e.Handled = False
           Me.isEnterKeyRequested = False

       ElseIf isUnknownKeyRequested Then
           ' Allow unknown character only if it's an allowed character.
           e.Handled = Not Me.StringHasNonAllowedChars({Convert.ToChar(e.KeyChar)}, Me.currentCharSetChars1)
           Me.isUnknownKeyRequested = False

       End If

       MyBase.OnKeyPress(e)

   End Sub

   ''' <summary>
   ''' Raises the <see cref="E:Control.DragEnter"/> event.
   ''' </summary>
   ''' <param name="drgevent">A <see cref="T:DragEventArgs"/> that contains the event data.</param>
   Protected Overrides Sub OnDragEnter(ByVal drgevent As DragEventArgs)

       If MyBase.AllowDrop Then

           Select Case True

               Case drgevent.Data.GetDataPresent(DataFormats.Text) ' ANSI text.
                   drgevent.Effect = DragDropEffects.Copy ' Drop text from dragged source.

               Case Else
                   ' Do Nothing.

           End Select

       End If

       MyBase.OnDragEnter(drgevent)

   End Sub

   ''' <summary>
   ''' Raises the <see cref="E:Control.DragDrop"/> event.
   ''' </summary>
   ''' <param name="drgevent">A <see cref="T:DragEventArgs"/> that contains the event data.</param>
   Protected Overrides Sub OnDragDrop(ByVal drgevent As DragEventArgs)

       If MyBase.AllowDrop Then

           Select Case True

               Case drgevent.Data.GetDataPresent(DataFormats.Text) ' ANSI text.
                   Dim dropString As String = DirectCast(drgevent.Data.GetData(DataFormats.Text), String)

                   ' Allow text drop only if all characters are numeric.
                   If Me.StringHasNonAllowedChars(dropString, Me.currentCharSetChars1) Then
                       MyBase.Text = dropString
                   End If

               Case Else
                   ' Do Nothing.

           End Select

       End If

       MyBase.OnDragDrop(drgevent)

   End Sub

#End Region

#Region " Private Methods "

   ''' <summary>
   ''' Toggles the edit menu visibility.
   ''' </summary>
   ''' <param name="enable">
   ''' If set to <c>true</c>, restores the default <see cref="ContextMenuStrip"/> for this <see cref="ElektroTextBox"/> instance.
   ''' </param>
   Private Sub ToggleEditMenu(ByVal enable As Boolean)

       If (enable) AndAlso (MyBase.ContextMenuStrip Is Nothing) Then
           ' Disable default Copy/Cut/Paste contextmenu.
           MyBase.ContextMenuStrip = Me.emptynessContextMenuStrip

       ElseIf Not (enable) AndAlso (MyBase.ContextMenuStrip IsNot Nothing) Then
           ' Restore default edit contextmenu.
           MyBase.ContextMenuStrip = Nothing

       Else
           ' Do Nothing.

       End If

   End Sub

   ''' <summary>
   ''' Gets the characters of a <see cref="CharSet"/>.
   ''' </summary>
   ''' <param name="charSet">The <see cref="CharSet"/>.</param>
   ''' <returns>The characters of a <see cref="CharSet"/>.</returns>
   Private Function GetCharSetChars(ByVal charSet As CharSet) As IEnumerable(Of Char)

       Dim chars As IEnumerable(Of Char) = String.Empty

       If charSet.HasFlag(charSet.None) Then
           ' Do Nothing.
       End If

       If charSet.HasFlag(charSet.StandardAlphabetic) Then
           chars = chars.Concat(CharSets.CharSetStandardAlpha)
       End If

       If charSet.HasFlag(charSet.StandardSymbols) Then
           chars = chars.Concat(CharSets.CharSetStandardSymbols)
       End If

       If charSet.HasFlag(charSet.Numeric) Then
           chars = chars.Concat(CharSets.CharSetNumeric)
       End If

       If charSet.HasFlag(charSet.SpanishAlphabetic) Then
           chars = chars.Concat(CharSets.CharSetSpanishAlpha)
       End If

       If charSet.HasFlag(charSet.SpanishSymbols) Then
           chars = chars.Concat(CharSets.CharSetSpanishSymbols)
       End If

       If charSet.HasFlag(charSet.CatalonianAlphabetic) Then
           chars = chars.Concat(CharSets.CharSetCatalonianAlpha)
       End If

       If charSet.HasFlag(charSet.CatalonianSymbols) Then
           chars = chars.Concat(CharSets.CharSetCatalonianSymbols)
       End If

       If charSet.HasFlag(charSet.RomanNumerals) Then
           chars = chars.Concat(CharSets.CharSetRomanNumerals)
       End If

       Return (From c As Char In chars Order By c.ToString Ascending Distinct)

   End Function

   ''' <summary>
   ''' Determines whether the specified string has non allowed characters for this <see cref="ElektroTextBox"/> instance.
   ''' </summary>
   ''' <param name="characters">The characters that will be evaluated.</param>
   ''' <param name="allowedChars">The allowed characters.</param>
   ''' <returns><c>true</c> if all the characters of the specified string satisfy the condition;
   ''' <c>false</c> otherwise.</returns>
   Private Function StringHasNonAllowedChars(ByVal characters As IEnumerable(Of Char),
                                             ByVal allowedChars As IEnumerable(Of Char)) As Boolean

       Return characters.All(Function(c As Char)
                                 Return allowedChars.Contains(c, Nothing)
                             End Function)

   End Function

#End Region

End Class


Saludos.
#5738
Cita de: Flamer en  2 Febrero 2015, 04:05 AMmmmm son latinos   :¬¬  buen dato Elecktro es que soy curiosos.
jaja, Flamer tu me entiendes, a lo que me refiero es por ejemplo como si los Españoles prefiriesen hacer corridas de Toros allá que acá... sería algo raro, porque no es su ambiente, pues los latinos prefieren boicotear una web española.

Hay muchas más páginas de temática hacking que elhacker.net, pero siempre parece estar en el punto de mira fija de gente extranjera proviniente de esas zonas latinas (muchisimo más que de todos los Españoles que conozcan esta web, según mis conclusiones),
aunque eso nos demuestra también algo positivo, y es lo difundida que está esta página en todos los continentes :) (o casi xD).


Cita de: Flamer en  2 Febrero 2015, 04:05 AMY nose si me entiendas elecktro pero de que sirve dejar un foro offline 1 o 2 horas de nada
Ya... cuesta aceptarlo pero simplemente hay gente que se divierte así (como quien encuentra diversión en maltratar animales), o que ridiculamente se sienten superior al penetrar en un server, o quizás quieren demostrar que son alguien explotando vulnerabilidades ajenas (que error tan irracional), o tal vez solo hacen appuestas con sus amigos a ver quien consigue tumbar una web (típica mentalidad infantil para ver quien tiene el rabo más grande),
por desgracia esa gente sigue existiendo y atacando este maravilloso foro.
En fin, sé que no he dicho nada que nadie sepa ya, porque todos sabemos que hay gente de todo tipo a nivel de estupidez humana.


Saludos!
#5739
Cita de: Flamer en  1 Febrero 2015, 15:48 PM
son lamber ardidos como los que piden crack u otro tipo de ayudas y el unico ataque que conosen es el ddos.

si fueran hacker de verdad intentarian acceder al servidor.

Y por otra parte que se ganan con un ddos solo tumbar la pagina por un rato.

Saludos Flamer y creo que saben de donde vienen las Ip

Además, por lo que he visto, y esto son solo conclusiones a las que yo mismo he llegado donde quizás me puedo equivocar, el perfil de "Atacante de elhacker.net", suelen ser personas que tienen un perfil psicológico bastante peculiar (por no decir que son infantiles y retrasados),
me atrevería a decir que la mayoría de las veces (de las veces que yo he podido ser testigo de las sospechas, evidencias, pruebas, o desenlaces del Staff que incluso se han llegado a publicar en el foro público) los atacantes siempre son gente sudamericana/latina (solo lo digo como dato curioso, sin ningún tipo de ofensa racial, pero es curioso, no se porque no atacan una web más cercana a su país y su ambiente social) que está totalmente jodida de tanto destruirse las neuronas paseándose por páginas tan indeseables como Taringa, que solo es un vertedero de la gente más lammer e intolerante que se pueda encontrar en la inmensa WWW, con algunas excepciones, pero generalizando y etiquetando por mayoría a esa gente, no me extraña que los atacantes visiten taringa y sitios similares, así son de tontos para hacer lo que hacen.

PD: Lo siento por esta pequeña muestra de rabia hacia Taringa y su mayoría de usuarios xD.

Saludos!
#5740
Windows / Re: Problema con algún proceso oculto
2 Febrero 2015, 02:45 AM
Cita de: moi_realine en  2 Febrero 2015, 01:02 AMResulta que ayer me di cuenta que dejando el ordenador sin nada abierto el puntero del ratón aproximadamente cada 7 segundos le aparece el icono de pensando durante muy poco tiempo pero no para de aparecer.

Pueden ser por muchas motivos, en el mejor de los casos quizás algún servicio (no malicioso) en segundo plano detecta cuando el PC está en inactividad e intenta cargar un proceso cuyo proposito es iniciarse en inactividad para iniciar determinada tarea (esto suele ocurrir en aplicaciones para desfragmentar el disco por ejemplo), pero falla, y lo vuelve a reintentar despues de un periodo determinado de tiempo en inactividad ...y así sucesivamente, pero eso solo es una posibilidad entra otras muchas posibles causas, como por ejemplo has dicho tú, un posible malware.

Es imposible intentar evaluar el problema si no das más datos.

1) Versión de Windows que estás utilizando.
2) El nombre de los programas recientemente instalados que consideres más importantes, sobretodo los que modifican el estilismo de Windows,
  y también desfragmentadores o limpiadores del sistema en caso de que hayas instalado ese tipo de software.
3) Una lista de todos los programas instalados en tu SO.
4) Una lista de todos los procesos que se inician junto a Windows.
5) Una lista de todos los procesos en ejecución mientras tu PC está activo.
6) ¿Tienes antivirus, cual?, ¿Has realizado un escaneo profundo de virus con la base de virus actualizada a fecha de hoy?

Nota:
El paso nº3, nº4, y nº5 los puedes llevar a cabo facilmente con la aplicación System Explorer, que te permite exportar una lista de la pestaña actual en la que te encuentres (hay varias pestañas dentro del programa):
http://systemexplorer.net/download.php
(las pestañas de las que debes exportar una lista se llaman "Processes", "AutoRuns", y "Uninstallers")

EDITO:
Como alternativa, si quieres evaluar el problema y la causa por tu propia cuenta, puedes utilizar la apllicación Process Monitor de SysInternals para monitorear las acciones del SO y determinar que aplicación se llama tras esos 7 segundos aprox. de inactividad o que sucede realmente tras ese intervalo.

Te lo recomiendo, es la mejor opción si te ves capaz de usar el programa (lo digo porque puede resultar bastante complejo si no estableces filtros para ocultar "basura"), más que nada porque sería algo efectivo, saldrías de dudas en menor tiempo, y dicho programa te mostrará cosas que yo (o los demás usuarios) no podemos averiguar examinando unas simples listas de tus programas, sin estar delante de tu PC de forma física para averiguar que sucede realmente en ese momento.
https://technet.microsoft.com/en-us/sysinternals/bb896645.aspx

Saludos