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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 ... 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 [943] 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 ... 1235
9421  Programación / .NET (C#, VB.NET, ASP) / Re: ¿Como se hace un menú DE IMÁGENES colapsables? en: 3 Marzo 2013, 19:26 pm
nada _katze_ he estado probando pero ese control tampoco me sirve, al final lo he hecho manuálmente pero necesito ayuda para automatizar la taréa.





El tema es que necesito hacer un menú colapsable (no me sirve ningún control de terceros colapsables para hacer esto porque es un menú por imágenes y paneles)

Os dejo unas imagenes para que entendais lo que quiero hacer...

Yo esto se hacerlo de forma manual, es decir, en el evento "click" de un botón, al clickarlo, expandir manualmente el panel, osea redimensionar más colocarlo (control.size + control.location) y hacer lo mismo con todo el resto de elementos...

Pero esa manera es un verdadero fiasco porque tengo más de 60 elementos y necesito encontrar una forma dinámica de que todo se organize de un modo más automático, pero no llego a la solución ni a la conclusión de como se podría hacer esto, ni siquiera en pseudocódigo, nada, mi cabeza y mi creatividad no dán para más, jeje.

PD: en las imagenes los "elementos" son botones, pero en el code original son PictureBoxes, y lo verde serían paneles.

Ah, por cierto, el problema más grande creo que es que los "elementos" (los paneles) no pueden tener el mismo tamaño, algunos son más grandes que otros y esto no puedo cambiarlo de ninguna manera, por eso no he llegado a una solución matemática (que tampoco soy un génio) ni he podido sacar conclusiones en pseudocode. De otra forma creo que sería muy fácil, si todos los paneles fuesen del mismo tamaño sólo tendría que "handlear" todos los elementos en un sub, hacer una regla de trés con todos los elementos y restarle/sumarle el valor del tamaño del panel para resizarlos... en fín me valdría de ese valor para poder hacer todo de una forma más automática, pero es que no puedo hacerlo así.






9422  Programación / .NET (C#, VB.NET, ASP) / Re: [APORTE] Snippets !! (Posteen aquí sus snippets) en: 3 Marzo 2013, 18:29 pm
Hexadecimal a Array de Bytes:

Código
  1. #Region " Hex to Byte-Array Function "
  2.  
  3.    ' [ Hex to Byte-Array Function ]
  4.    '
  5.    ' Examples :
  6.    ' Dim Byte_Array = Hex_to_Byte_Array("000a42494c4c2047415445535ad50adc4f5ca6f9efc1252aadf9847f")
  7.    ' My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\KEYNAME", "VALUENAME", Byte_Array, Microsoft.Win32.RegistryValueKind.Binary)
  8.  
  9.    Private Function Hex_to_Byte_Array(ByVal HEX_String As String) As Byte()
  10.        Dim Bytes_Array((HEX_String.Length \ 2) - 1) As Byte
  11.        For i As Integer = 0 To HEX_String.Length - 1 Step 2
  12.            Dim HEX_Byte As String = HEX_String.Substring(i, 2)
  13.            Dim Byte_Value As Byte = Byte.Parse(HEX_Byte, Globalization.NumberStyles.AllowHexSpecifier)
  14.            Bytes_Array(i \ 2) = Byte_Value
  15.        Next
  16.        Return Bytes_Array
  17.    End Function
  18.  
  19. #End Region





Windows API Code Pack:
Código
  1. #Region " Set TaskBar Status Function "
  2.  
  3.    ' [ Set TaskBar Status Function ]
  4.    '
  5.    ' // By Elektro H@cker
  6.    '
  7.    ' Examples :
  8.    ' Set_TaskBar_Status(TaskBar_Status.Paused)
  9.  
  10.    Public Enum TaskBar_Status
  11.        Normal = 2     ' Blue
  12.        Stopped = 4    ' Red
  13.        Paused = 8     ' Yellow
  14.        Disabled = 0   ' No colour
  15.        Undefinied = 1 ' Marquee
  16.    End Enum
  17.  
  18.    Private Function Set_TaskBar_Status(ByVal TaskBar_Status As TaskBar_Status) As Boolean
  19.        Try : Microsoft.WindowsAPICodePack.Taskbar.TaskbarManager.Instance.SetProgressState(TaskBar_Status)
  20.            Return True
  21.        Catch ex As Exception : Throw New Exception(ex.Message)
  22.        End Try
  23.    End Function
  24.  
  25. #End Region

Windows API Code Pack:
Código
  1. #Region " Set TaskBar Value Function "
  2.  
  3.    ' [ Set TaskBar Value Function ]
  4.    '
  5.    ' // By Elektro H@cker
  6.    '
  7.    ' Examples :
  8.    ' Set_TaskBar_Value(50, 100)
  9.  
  10.    Private Function Set_TaskBar_Value(ByVal Current_Value As Integer, ByVal MAX_Value As Integer) As Boolean
  11.        Try : Microsoft.WindowsAPICodePack.Taskbar.TaskbarManager.Instance.SetProgressValue(Current_Value, MAX_Value)
  12.            Return True
  13.        Catch ex As Exception : Throw New Exception(ex.Message)
  14.        End Try
  15.    End Function
  16.  
  17. #End Region
9423  Programación / Scripting / Re: ayuda! para RENOMBRAR varias carpetas dentro de otra en: 3 Marzo 2013, 08:47 am
Valoro la respuesta de $Edu$.

Bueno, al menos dices que aprendiste algo,
un saludo!
9424  Programación / Scripting / Re: [BATCH] Copiar archivos de usb Script bath en: 2 Marzo 2013, 20:22 pm
Si existen dos archivos con el mismo nombre en distintos directorios, el último sobreescribe al primero, esto es asi?

El parámetro "/Y" del comando "Copy" sirve para remplazar archivos, "SÍ" a tu pregunta.

Cierro el tema.

Saludos
9425  Programación / .NET (C#, VB.NET, ASP) / [SOLUCIONADO] No puedo crear una clave binária en el registro! en: 2 Marzo 2013, 20:18 pm
EDITO 2: Ya lo he solucionado... j*der todo lo que es necesario sólo para agregar una maldita clave al registro.

Lo de usar datos binários para agregar una clave binária tiene sentido, pero que me digan que desde Batch con el comando "Reg.exe" lo puedes hacer usando como valor un string y sin ningún esfuerzo por parte del usuario/scripter, y en cambio en .NET haya que hacer todo el proceso manual y estríctamente y encima séa necesario conocer las bases principales de los bytes y el binário para poder convertir el string a sus respectivos valores de bytes y para así luego poder agregar la maldita clave... en fín! esto para mi ha sido desesperante. Este trozo de código si que lo copio y sin haber aprendido nada, porque me ha quemado del todo.

PD: ¿Alguien que entienda de arrays de bytes y todo esto me puede decir si el code está bien?, es que tuve que restarle "-1" al "data.length" (en lugar de restarle "-3" como pone en el código original) para que me funcionase corréctamente.

Solución:
 
Código
  1.        Dim data As String = "000a42494c4c2047415445535ad50adc4f5ca6f9efc1252aadf9847f"
  2.        Dim bytes((data.Length \ 2) - 1) As Byte
  3.        For i As Integer = 0 To data.Length - 1 Step 2
  4.            Dim hexByte As String = data.Substring(i, 2)
  5.            Dim value As Byte = Byte.Parse(hexByte, Globalization.NumberStyles.AllowHexSpecifier)
  6.            bytes(i \ 2) = value
  7.        Next
  8.        My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\PowerISO", "USER", bytes, Microsoft.Win32.RegistryValueKind.Binary)

http://www.dreamincode.net/forums/topic/138591-write-reg-binary-hex-to-the-registry/

Saludos.





EDITO: ya he solucionado uno de los problemas, en la función asumo que el parámetro es de tipo string y por eso el array de bytes no me tiraba ni patrás.

Ahora sólo necesito que alguien me ayude a convertir este valor hexadecimal a bytes para poder añadir la clave...

Código:
000a42494c4c2047415445535ad50adc4f5ca6f9efc1252aadf9847f

no sé como hacerlo sincéramente, he usado 3 convertidores online HEX a BIN pero no creo que eso me sirva, algo estaré haciendo mal porque esto no me funciona:

PD: los ceros sueltos ("0,0") no los puse yo a propósito, la IDE me lo convierte en ceros sueltos y "1" unos sueltos...

Código
  1.            Dim BinaryData As Byte() = {11, 11, 10, 1, 11, 10, 11, 11, 11, 0, 0, 1, 0, 10, 1, 1, 0, 10, 10, 10, 10, 10, 11, 1, 11, 11, 10, 0, 0, 0, 0, 0, 0, 0}
  2.            My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\PowerISO", "USER", BinaryData, Microsoft.Win32.RegistryValueKind.Binary)


Necesito que el contenido de la clave quede como en este ejemplo:



¿Como narices se convierte ese valor?




Hola,

Hace tiempo una función para agregar claves al registro, pero ahora me he dado cuenta de que no funciona con claves binárias, y necesita agregar una.


Código
  1.    Public Function Reg_Set_Value(ByVal RegKey As String, ByVal RegValue As String, ByVal RegData As String, ByVal RegDataType As Microsoft.Win32.RegistryValueKind) As Boolean
  2.        Try
  3.            My.Computer.Registry.SetValue(RegKey, RegValue, RegData, RegDataType)
  4.            Return True
  5.        Catch ex As Exception
  6.            Throw New Exception(ex.Message)
  7.        End Try
  8.    End Function

Código
  1. Reg_Set_Value("HKEY_CURRENT_USER\Software\PowerISO", "USER", "000a42494c4c2047415445535ad50adc4f5ca6f9efc1252aadf9847f", Microsoft.Win32.RegistryValueKind.Binary)

También he intentado creando un array de Bytes (no sé si será una estupidez...) pero aparte de que no se si he hecho corréctamente la conversión del string a binário, no sé utilizar los bytes para esto:
Código
  1. Dim val() As Byte = {0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 1, 0, 0, 0, 1, 8}
  2. Reg_Set_Value("HKEY_CURRENT_USER\Software\PowerISO", "USER", val(), Microsoft.Win32.RegistryValueKind.Binary)

Así es como puedo crear la clave que necesito usando un script de Regedit:
Código:
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\PowerISO]
"USER"=hex:00,0a,42,49,4c,4c,20,47,41,54,45,53,5a,d5,0a,dc,4f,5c,a6,f9,ef,c1,\
  25,2a,ad,f9,84,7f

Y así como lo puedo hacer en Batch:
Código
  1. REG ADD "HKCU\Software\PowerISO" /V "USER" /T "REG_BINARY" /D 000a42494c4c2047415445535ad50adc4f5ca6f9efc1252aadf9847f /F

Ni eso ni Google me han servido para saber que estoy haciendo mal.

¿Alguna información please?

Un saludo.
9426  Programación / Scripting / Re: Acciones sobre archivos de texto. [Batch] en: 2 Marzo 2013, 16:49 pm
El redireccionamiento funciona para TODOS los programas que séan CommandLine.

El problema que dices tener sólo puede ser una de estas dos razones:
  • 1. Que el programa no séa CommandLineInterface
  • 2. Que no estés redireccionando la salida correcta. (Hay una salida standard y otra de errores)

En algunos programas la salida standard es la "2" por extraño que parezca (Por ejemplo en el FFMPEG), y en esos casos deberás hacer esto (Pruébalo):

Código
  1. MiPrograma.exe 2> "Archivo.txt"

De todas formas también puedes hacerlo con un FOR, AUNQUE ESTA MANERA ES MUY INCORRECTA (Porque con el redireccionamiento es suficiente, pero si dices que no te funciona...):

Código
  1. (For /F "Tokens=*" %%# in ('MiPrograma.exe') Do (Echo %%#))>"Archivo.txt"

Saludos.
9427  Programación / Scripting / Re: [au3] Como añadir recurso? en: 2 Marzo 2013, 13:42 pm
quisiera saber como añadir un recurso en au3 ya que no trae la opcion por defecto

No uso AutoIt, pero quizás esto te sirva...

http://www.autoitscript.com/autoit3/docs/functions/FileInstall.htm

http://www.autoitscript.com/forum/topic/132564-createfilesembeddedau3-like-fileinstall/

http://www.autoitscript.com/forum/topic/82569-extract-resource/

Saludos.
9428  Programación / Scripting / Re: Acciones sobre archivos de texto. [Batch] en: 2 Marzo 2013, 08:56 am
¿Cómo poner la salida de algún programa de linea de comandos a un archivo?
Código:
miprograma.exe -suparametro >Salida.txt

Vuelve a leer mi respuesta.

Tutorial extendido de aprendizaje Batch by Elektro H@cker
· 4.6 Operadores de desplazamiento lógico (o Redireccionamiento)


Saludos
9429  Programación / Scripting / Re: Acciones sobre archivos de texto. [Batch] en: 2 Marzo 2013, 06:07 am
@ignorantev1.1
El comando "Echo" es para escribir información en la pantalla, "MiPrograma.exe" no se llega a ejecutar, sólo lo escribes en la pantalla, y mucho menos vas a poder mostrar el output de un programa que no se ha ejecutado... en resumen, no uses "Echo".

Código:
miprograma.exe -suparametro >Salida.txt

Esto es más que básico, deberías leer cualquier tutorial para principantes.

Saludos.
9430  Programación / Scripting / Re: copiar en .bat en: 1 Marzo 2013, 00:26 am
vale la pena el copy envez de xcopy... o las carpetas de dentro de una carpeta no se copian...

Ya te lo he explicado la primera vez de forma resumida, pero bueno.

Si usas Copy sólo te copiará todo lo que haya en la raiz de esa carpeta.

Ejemplo:
Código:
.\Carpeta\
.\Carpeta\Archivo1.txt
.\Carpeta\Archivo2.txt
.\Carpeta\Subcarpeta\Archivo.txt
.\Carpeta\Subcarpeta2\Archivo.txt
.\Carpeta\Subcarpeta3\Archivo.txt

Si usas:
Código:
Copy "Carpeta\" ·Destino\"
sólo se copiará "Archivo1.txt" y "Archivo2.txt".

Vuelvo a citar:
Copy no afecta a carpetas, es para archivos, debes usar XCopy.

Saludos!

Páginas: 1 ... 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 [943] 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 ... 1235
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines