elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Mensajes
Páginas: 1 ... 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 [841] 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 ... 1236
8401  Programación / .NET (C#, VB.NET, ASP) / Re: Ayuda con un capturador de pantalla en: 8 Agosto 2013, 13:21 pm
el de hacerlo opaco, cuando le doy al boton capturar, se quita la ventana del programa y se queda abajo minimizado y no me deja maximizarlo

Después de realizar la captura tienes que restaurar la opacidad del Form. ¿Te has leido el link de la documentación?.

Repito:
Citar
PD: El valor es un Single que va de 0 a 1.

El del check box no me funciona, y no es un check box, es un boton con un check dentro de DropDownButton en un ToolStrip.


La cuestión es que adaptases el ejemplo que te he dado a tus necesidades, si tienes complicaciones postea lo que has intentado por ti mismo ...o lee, como te han sugerido.


1. Crea una propiedad de sólo lectura que devuelva el Tag del DropDownButton.

2. Setea la propiedad Tag para cada SubItem del DropDownButton, uno de los tags se llamará "True", y el otro tag "False" (Para hacerlo fácil),
luego suscríbete al evento ".Click" de los dos SubItems del DropDownButton y ahí seteas la propiedad Tag del DropDownButton por el mismo Tag del SubItem que has clickado.

Ejemplo:
Código
  1.    ReadOnly Property CaptureForm() As Boolean
  2.        Get
  3.            Return Capturar_DropDownButton.Tag
  4.        End Get
  5.    End Property
  6.  
  7.    Private Sub Capturar_DropDownItems_Click(sender As Object, e As EventArgs) Handles _
  8.        SiCapturar.Click, _
  9.        NoCapturar.Click
  10.  
  11.        Capturar_DropDownButton.Tag = sender.tag
  12.  
  13.    End Sub
  14.  

PD: Además si quieres puedes ahorrarte la parte de la propiedad y hacerlo con una simple variable Booleana que al fin y al cabo produce el mismo resultado.

Saludos
8402  Programación / .NET (C#, VB.NET, ASP) / Comparación sobre el tiempo de ejecución. en: 8 Agosto 2013, 11:35 am
Hola, me gustaría saber una cosa muy simple, pero no encuentro está información en ningún sitio.


¿Que tarda más en realizarse, una comprobación, o setear diréctamente un valor?

Pongo un ejemplo:


Código
  1. ' Setear diréctamente:
  2. Private MyPoint As New Point(0, 8)
  3.  
  4. Private Sub blabla()
  5.  
  6.   MyPoint.X = 257
  7.  
  8. End Sub

Código
  1. ' Comprobar, y si la condición no se cumple, setear:
  2. Private MyPoint As New Point(0, 8)
  3.  
  4. Private Sub blabla()
  5.  
  6.    If Not MyPoint.X = 257 Then MyPoint.X = 257
  7.  
  8. End Sub


Quizás también tenga que ver del objeto con el que estemos tratando, por ejemplo quizás una propiedad de un control "pesado" tardaría más en leerse que en diréctamente setear su valor?

8403  Programación / .NET (C#, VB.NET, ASP) / Experimento de consumo de memória... ver para creer! en: 8 Agosto 2013, 09:12 am
Hoy he descubierto algo que me ha impactado bastante.

Creamos un nuevo WinForm, y lo dejamos EN BLANCO, es decir, sin ningún tipo de código, simplemente el Form1.vb generado por el VS...

Ahora, si compilamos esa aplicación vacía, al mover el mouse sobre el form, sólo esa acción consume unos 8kb cada segundo. (no estoy seguro de si se trata del evento MouseEnter o del MouseMove, o quizás el problema no sea de un Evento y sea otra cosa que desconozco)

Lo más impactante de este experimento es que dicho consumo jamás se llega a liberar!, cuanto más muevo el mouse por el Form, más subre el consumo de RAM, 8 kb cada vez que muevo el mouse por el form, pero ese consumo nunca vuelve a bajar, y esto quiere decir que un Form vacío podría dar un problema de overflow sólamente por mover el mouse por el form!!?¿

¿Como es esto posible?, ¿Cual es la razón?, ¿Que se puede hacer para solucionarlo?, ¿Alguien más se habia dado cuenta de esto antes?.

PD: No se si es un WinForm de C# pasará lo mismo Con un Winform de C# sucede exáctamente lo mismo, lo he testeado con VB.NET, con Framework 4.0 y 4.5.


EDITO:

Con Java es incluso peor, es traumático, al mover el mouse sobre el background de una aplicación vacía la memória aumenta por MB's cada segundo, no por kb's, y no se llega a liberar jamás tampoco, puede pasar de 40 mb a 60 mb en menos de 30 segundos símplemente por mover el mouse por la ventana sin parar, y encima ese consumo no va a bajar nunca, es increible, en fín si que es cierto lo que dicen sobre Java y el consumo de RAM si...

Tengo algunos programas profesionales de terceros desarrollados en C/C++ y al mover el mouse por sus ventanas no sube el consumo en absoluto.



Bueno, ahí dejo el experimento, espero que alguien pueda dejar explicaciones sobre las causas de estos sucesos paranormales,
y si se puede evitar de alguna manera ese consumo excesivo OverRideando algún método o... como sea!!.



Saludos.
8404  Programación / .NET (C#, VB.NET, ASP) / Re: Ayuda con un capturador de pantalla en: 8 Agosto 2013, 07:21 am
quiero que en el boton del ToolStrip (Que es como un checkbox de marcar y desmarcar) que al estar marcado, que en la imagen de la captura, no aparezca la ventana del programa.

· 1) Puedes volver invisible el Formulario antes de capturar la imágen:

Código
  1. Mybase.Opacity =

PD: El valor es un Single que va de 0 a 1.

http://msdn.microsoft.com/en-us/library/system.windows.forms.form.opacity.aspx

· 2) Puedes minimizar el Form antes de crear la captura:

Código
  1. Mybase.WindowState =

http://msdn.microsoft.com/en-us/library/system.windows.forms.form.windowstate.aspx



EDITO:

Y para lo del checkbox puedes crear una propiedad:

Código
  1.    ReadOnly Property CaptureForm() As Boolean
  2.        Get
  3.            Return CheckBox1.Checked
  4.        End Get
  5.    End Property


Código
  1.    Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) _
  2.    Handles CheckBox1.CheckedChanged
  3.        MsgBox(Me.CaptureForm)
  4.    End Sub

Saludos.
8405  Foros Generales / Dudas Generales / Re: Ayuda con una clave,por favor! en: 7 Agosto 2013, 22:27 pm
Hola, Como puedo descifrar esta clave?

986dd88ddc987286028fa116427e7ede

Muchas gracias

¿Eso es una pregunta seria?

Danos al menos la información necesaria sobre de donde has sacado la "clave" para intentar averiguar el tipo de cifrado que han usado... aquí hay muchos craquers, pero ningún mago.

De todas formas el string consta de 32 caracteres, lo que más bien parecen 32 digitos hexadecimales, lo que en su totalidad suman 128 bytes, así que la cadena tiene toda la pinta de tratarse de un Hash MD5,
en ese caso no existe posibilidad de descifrarlo, ya que no es cifrado, es un Hash, y la razón de que no se pueda descifrar es que se pueden computar infinitas cadenas que den como resultado el mismo Hash.

Puedes usar un HashCracker online u offline, pero eso es como dar por hecho que una coincidencia es válida entre un millón de coincidencias válidas restantes, ¿Será la correcta la primera coincidencia de Hash que se encuentre?, ¿Te gusta jugar a la loteria xD?.

Aún así, por si ese String que quieres descifrar no fuese un Hash (aunque ya te digo, si que lo es...), puedes probar suerte con los desencriptadores de Crypo -> http://crypo.in.ua/tools/

Saludos.
8406  Informática / Hardware / Re: Ralentización máxima en la velocidad de transfernecia de un HDD en: 7 Agosto 2013, 22:01 pm
Imoen los parones no surgen al copiar archivos de un disco a otro, eso era otro problema parecido pero ya lo solucioné poniendo al HDD principal en un solo alimentador, y el resto de HDD's en otro,
...Los hangs suceden sin más, en el disco principal, y es cuando le da la gana.



A) indica el modelo de placa y de discos porfa

Placa: ASUS M5A97 LE R2.0 -> http://www.asus.com/Motherboards/M5A97_LE_R20/#specifications

HDD Principal (Windows): WD1002FAEX -> http://www.wdc.com/global/products/specs/?driveID=792&language=1
HDD 2 y 3: WD20EZRX -> http://store.westerndigital.com/store/wdus/en_US/DisplayAccesoryProductDetailsPage/ThemeID.30153100/productID.283204000
HDD 4: WD30EZRX -> http://store.westerndigital.com/store/wdus/en_US/DisplayAccesoryProductDetailsPage/ThemeID.30153100/productID.283207400



f) comprueba las temp y si hay algún fallo leyendo los parámetros smart con tu sotware favorito diskcristalinfo o similar

El CrystalDiskInfo me lo marca todo en Azul, en estado "Bueno", tanto las temperaturas (Desde los 40º hasta los 46º) como los datos de SMART.

El HardDisk Sentinnel lo mismo, ningún error en los SMART, aunque bueno, la temperatura del disco principal me la marca en amarillo, en precaución, la temp de se disco son 46º.



C) tienes activado los AHCI en sta

Perdona pero no se lo que es AHCI, me he informado un poco y parece que es un driver SATA pero solo para Intel?,
te lo digo porque yo tengo un AMD, tengo el Catalyst actualizado e instalado (los drivers SATA que te instala el catalyst),
si me equivoco y sigo necesitando activar o desactivar el driver de AHCI voy a necesitar info para encontrarlo xD.



D) puedes probar una live desde cd o algo asi y copiar datos haber si dan esos tirones , lo mismo es el OS y estamos largando del hardware XDD
Eso es lo que más pereza me da xD, Tengo que desconectar el cable donde tengo conectado los 3 HDD secundarios solo para conectar el Lector que es SATA también, mañana o pasado mañana testearé en un LiveCD.

Pero suponiendo que desde un LiveCD no me diese esos parones el HDD, aún así no creo que eso pueda ser una prueba definitiva de que fuese un problema de mi SO, quiero decir, un LiveCD es un SO Virtual, y mi SO (Windows 8) lo he reinstalado 2 veces durante las ultimas semanas, y sigue sucediendo los parones, pero el SO está limpio, nuevecito y con todos sus drivers en regla... parece casi imposible que sea causa de mi Windows :(

No es por llevarte la contraria, solo te digo lo que pienso sobre lo de que sea causa de mi SO, no sé cuanta razón tendré, tu eres la experta en Hardware.
yo preferiría que fuese problema del SO, que seguro me saldría más barato que un problema de Hardware...

Saludos!
8407  Programación / .NET (C#, VB.NET, ASP) / Re: Fuga de memória en una función :( en: 7 Agosto 2013, 20:53 pm
Yo creo que el problema está no en la función, sino en ejecutar esa función constantemente tan rápido. Se crean más datos de los que se alcanzan a liberar.

Lo que dices es muy lógico, es lo primero que se llega a pensar, puede que si que quizás en 50 ms se generen más datos de los que se pueden liberar, pero además de eso estoy seguro de que hay una fuga en esa función, y la prueba definitiva la di al principio, con este code:


Código
  1.    Public Class Form1
  2.  
  3.       Dim isbinded As Boolean = False
  4.       Dim Winamp As clsWACC = New clsWACC
  5.       Dim WithEvents mytimer As New Timer With {.Interval = 50, .Enabled = True}
  6.  
  7.       Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles mytimer.Tick
  8.           isbinded = Winamp.Bind()
  9.           ' Label1.Text = isbinded
  10.           ' isbinded = Nothing
  11.       End Sub
  12.  
  13.    End Class

Símplemente el Test consiste en crear una APP con ese código (y adjuntar la dll de la función Bind claro xD).

Repito que si uso un Timer de 10 segundos (o 20, o los que sean) la RAM sigue subiendo progresívamente, solo que se generarán los bytes mucho más lento porque el timer es más lento así que hay que dejar la app un buen rato corriendo para apreciar el aumentado del consumo de RAM, pero en fín yo creo que en 10-20 segundos el GC tiene tiempo de liberar...

Saludos!
8408  Programación / Scripting / Re: hola bat que modifique el nombre de archivos de un directorio o carpeta en: 7 Agosto 2013, 20:39 pm
Hola

Te has debido confundir al decir que los nombres contienen los caracteres "/" y "\" ya que son caracteres prohibidos por Windows, no pueden contenerlos.

quiero un bat u otro tipo ce archivo que me renombre todos los archivos eliminando los simbolos y colocando todas las letras en minuscula y la primera letra de las palabras en mayusculas.

Quieres y pides, ¿Pero has intentado hacerlo por ti mismo?, ¿Donde está el código?.

Ya que dejas libre la elección del lenguaje entonces yo te propongo VisualBasicScript porque es soportado natívamente por Windows, ya que Batch es fácil pero muy lento para estas cosas y además se queda corto en características obligando a escribir mucho código de más el cual se podría hacer de forma mucho más simple en cualquier otro lenguaje,
de todas formas si prefieres hacerlo en Batch puedes esperar la respuesta de algún otro Batchero o usar el buscador del foro donde encontrarás esta misma pregunta repetida 1000 veces con soluciones mías y de otros compañeros.


Te doy la mitad del trabajo hecho, la parte fácil de listar los archivos y renombrarlos puedes intentar hacerlo por ti mismo documentándote con ejemplos aquí -> Top Secret

Código
  1. str = "LA_++L+UC+HA_P+OR_EL_AMOR"
  2. str = FormatString(str)      ' Llamamos a la función que formatea el String.
  3. str = ConvertToWordCase(str) ' Llamamos a la función que convierte el String a ProperCase.
  4. Wscript.Echo str             ' Mostramos el String.
  5. Wscript.Quit()               ' Terminamos la ejecución del script.
  6.  
  7. ' Funcs:
  8. ' ------
  9. Function FormatString(ByVal String)
  10. String = replace(String, "+","")  ' Reemplazo el caracter "+" por NADA.
  11. String = replace(String, "_"," ") ' Reemplazo el caracter "_" por ESPACIO.
  12. FormatString    = String          ' Devuelvo el String formateado.
  13. End Function
  14.  
  15. Function ConvertToWordCase(ByVal String)
  16. words = split(String," ") ' Parto el String en varios tokens delimitados por el caracter ESPACIO y lo guardo en un Array.
  17.  
  18. For i = 0 to ubound(words) ' Recorro cada valor del Array, es decir, cada palabra.
  19. ' Convierto la primera letra a UpperCase.
  20. words(i) = ucase(left(words(i),1)) _
  21. & lcase(mid(words(i),2)) ' Y convierto las demás letras a LowerCase.
  22. Next ' Prosigo con la siguiente palabra.
  23.  
  24. ConvertToWordCase = join(words," ") ' Junto el Array (Lo convierto a String) y lo devuelvo.
  25. End Function

Output:
Código:
La Lucha Por El Amor


PD: Si muestras algún intento de proseguir con el código de arriba no tendré ningún inconveniente en ayudarte a completarlo.

Saludos!
8409  Programación / .NET (C#, VB.NET, ASP) / Re: Fuga de memória en una función :( en: 7 Agosto 2013, 19:50 pm
Pero en principio te puedes fijar si tiene un evento, solo es poner punto en el nombre de instancia de clase y buscar el que tiene un "rayito" :xD
Si pero si el evento fuese privado por cualquier motivo pues no me iba a salir en el intellisense, es que en la class hay muchos "Tests" como cosas de prueba y cosas por mejorar, no está del todo perfeccionado así que tenía que usar el buscador de la IDE para examinar la class a fondo xD.


Citar
¿No hay un evento en esa clase para detectar el cambio de estado?
No, ninguno, hay que crear el evento o detectar el estado a lo cutre, mediante condiciones (if's).


En fín Novlucker he seguido tus indicaciones para lo del proceso:

En la class del winamp:
Código
  1.    Private Sub waProcess_Exited(ByVal sender As Object, ByVal e As EventArgs) Handles waProcess.Exited
  2.        RaiseEvent WinampExited()
  3.    End Sub

En la class de mi form:
Código
  1.    Private Sub Exited() Handles Winamp.WinampExited
  2.        Winamp_IsRunning = False
  3.    End Sub
  4.  
  5.    Private Sub Monitor_Timer_Tick(sender As Object, e As EventArgs) Handles Monitor_Timer.Tick
  6.        If Not Winamp_IsRunning Then Winamp_IsRunning = Winamp.Bind()
  7.    End sub
  8.  

Se nota mucho el cambio, gracias, aunque como ya digo la función Bind de esa class tiene algún problema así que por mucho que yo intente perfeccionar estas minucias no va a dejar de subir la RAM xD, aunque ahora he conseguido que suba reálmente muy poco a poco, el consumo de ram hace subidas y bajadas que no me gustan nada, pero bueno parece estar equilibrado, sube un poco y al rato como que el GC hace su trabajo, lo libera y vuelve a bajar el consumo, y vuelve a subir, en fin xD. (Todo esto dejando el proceso en "StandBy")

Saludos
8410  Programación / .NET (C#, VB.NET, ASP) / Re: Fuga de memória en una función :( en: 7 Agosto 2013, 18:08 pm
¿Por que ese necesario buscar cada 50 ms la ventana y el proceso de Winamp? Está claro que es algo muy costoso

Aún así ese trozo de código de la Class genera memoria sin cesar, aunque se use un Timer que tickee cada 10 segundos que llame a la función Bind, la cantidad de memoria en ese caso será minima pero al fin y al cabo incesante, hay algo que está mal en ese code.

¿No hay un evento en esa clase para detectar el cambio de estado?

En cuanto al proceso por ejemplo. Lo obtienes todas las veces y seteas EnableRaisingEvents en true, lo que hay que hacer es obtener el proceso, setear EnableRaisingEvents en true, suscribirse al evento Exited, y dejar de buscar el proceso. Cuando se dispara el evento Exited, entonces volvemos a buscar.

la Class del Winamp son 2000 o 3000 lineas de código, no me lo he mirado todo, eso es lo próximo que haré y ya te cuento.
Páginas: 1 ... 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 [841] 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 ... 1236
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines