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

 

 


Tema destacado:


  Mostrar Mensajes
Páginas: 1 ... 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 959 ... 1236
9431  Programación / .NET (C#, VB.NET, ASP) / Re: [APORTE] Snippets !! (Posteen aquí sus snippets) en: 4 Marzo 2013, 16:11 pm
Modificar permisos de carpetas:

Código
  1. #Region " Folder Access Function "
  2.  
  3.    ' [ Folder Access Function ]
  4.    '
  5.    ' // By Elektro H@cker
  6.    '
  7.    ' Examples :
  8.    ' Set_Folder_Access("C:\Folder", Folder_Access.Create + Folder_Access.Write, Action.Allow)
  9.    ' Set_Folder_Access("C:\Folder", Folder_Access.Delete, Action.Deny)
  10.  
  11.    Public Enum Folder_Access
  12.        Create = System.Security.AccessControl.FileSystemRights.CreateDirectories + System.Security.AccessControl.FileSystemRights.CreateFiles
  13.        Delete = System.Security.AccessControl.FileSystemRights.Delete + System.Security.AccessControl.FileSystemRights.DeleteSubdirectoriesAndFiles
  14.        Write = System.Security.AccessControl.FileSystemRights.AppendData + System.Security.AccessControl.FileSystemRights.Write + Security.AccessControl.FileSystemRights.WriteAttributes + System.Security.AccessControl.FileSystemRights.WriteData + System.Security.AccessControl.FileSystemRights.WriteExtendedAttributes
  15.    End Enum
  16.  
  17.    Public Enum Action
  18.        Allow = 0
  19.        Deny = 1
  20.    End Enum
  21.  
  22.    Private Function Set_Folder_Access(ByVal Path As String, ByVal Folder_Access As Folder_Access, ByVal Action As Action) As Boolean
  23.        Try
  24.            Dim Folder_Info As IO.DirectoryInfo = New IO.DirectoryInfo(Path)
  25.            Dim Folder_ACL As New System.Security.AccessControl.DirectorySecurity
  26.            Folder_ACL.AddAccessRule(New System.Security.AccessControl.FileSystemAccessRule(My.User.Name, Folder_Access, System.Security.AccessControl.InheritanceFlags.ContainerInherit Or System.Security.AccessControl.InheritanceFlags.ObjectInherit, System.Security.AccessControl.PropagationFlags.None, Action))
  27.            Folder_Info.SetAccessControl(Folder_ACL)
  28.            Return True
  29.        Catch ex As Exception
  30.            Throw New Exception(ex.Message)
  31.            ' Return False
  32.        End Try
  33.  
  34. #End Region
9432  Programación / .NET (C#, VB.NET, ASP) / Re: [APORTE] Splitty v1.6 [Source code] en: 4 Marzo 2013, 15:39 pm
Me ha llamado la atención eso :xD ¿por que dices lo de F#?

Saludos

Ups perdón, siempre me confundo, quería decir SharpDevelop, la IDE xD.

saludos
9433  Programación / .NET (C#, VB.NET, ASP) / Re: [APORTE] Splitty v1.6 [Source code] en: 4 Marzo 2013, 15:13 pm
NUEVA VERSIÓN

Splitty 1.6

  • Error de límite máximo de 300 MB al usar el formato ISO corregido (Método: La aplicación añade automáticamente una clave de registro para registrar la utilidad PowerISO)
  • Mejoras visuales en la barra de taréas de Windows 7 (Información del progreso).
  • Protección temporal contra escritura/borrado/modificación de archivos de la carpeta de origen mientras esta se está procesando (SPLIT).
  • Monitorización de cambios de la carpeta de origen para actualizar la información que muestra la aplicación antes de hacer el SPLIT.
  • He unificado las estructuras en el mismo source, la aplicación ahora usa los recursos (.exe) de la arquitectura del SO (x64/x86).
  • Corregida una errata de sintaxis (if variable = valor = valor), joder, no sé como no lo ví antes, pero estaba funcionando bien xD.
  • Corregido el error de ventanas indeseadas (MessageBoxes) en la barrá de taréas.
  • Otros pequeños cambios sin importancia.

http://ElektroStudios.tk/Splitty.rar

PD: Sobre lo de FSharp SharpDevelop y hacerlo compatible con FW 2.0 me ha sido imposible.

Saludos!
9434  Programación / .NET (C#, VB.NET, ASP) / Ocultar ventana indeseable en el TaskBar en: 4 Marzo 2013, 11:45 am
Hola.

En mi aplicación muestro un MSGBOX pero la ventana del MSGBOX aparece también en el TaskBar, me he dado cuenta que esto sólo ocurre si muestro el MGSBOX desde un thread.

Aplicación:


TaskBar:


PD: Lo de la derecha es el MSGBOX, no quiero que eso aparezca en la barra de taréas.

¿Como puedo ocultar la ventana del MSGBOX en el TaskBar?, espero que no haya que recurrir a obtener el handle de la ventana del MSGBOX y esas cosas... ¿Hay algo más fácil?

Este es el código que uso:
Código
  1. MessageBox.Show(My.Resources.ResourceManager.GetObject(Language_Resource & "09"), My.Settings.Version, MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)


9435  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í.






9436  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
9437  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!
9438  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
9439  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.
9440  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.
Páginas: 1 ... 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 959 ... 1236
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines