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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Mensajes
Páginas: 1 ... 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 [749] 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 ... 1236
7481  Programación / Scripting / Re: Ayuda - Leer Caracter por Caracter en: 2 Febrero 2014, 19:08 pm
es un chancay de a 20 en C/C++ pero aqui en Bat se me hace dificil

Claro, Batch no dispone prácticamente de NADA util ni muhco menos de métodos/comandos para manejar ASCII o HEX para rotar caracteres (aunque se pueden improvisar cosas con el viejo truco del Exit Code).

¿Y si utilizas VBS (que lo puedes ejecutar como si se tratase de un archivo Bat) para escribir tu método de cifrado Caesar?:

Código
  1. WScript.Echo Caesar("hola",5)
  2.  
  3. Function Caesar(str,rotation)
  4.  
  5. Dim length,char,i
  6. Caesar = ""
  7. length = Len(str)
  8. For i = 1 To length
  9. char = Mid(str,i,1)
  10. If char >= "A" And char <= "Z" Then
  11. char = Asc("A") + (Asc(char) - Asc("A") + rotation) Mod 26
  12. Caesar = Caesar & Chr(char)
  13. ElseIf char >= "a" And char <= "z" Then
  14. char = Asc("a") + (Asc(char) - Asc("a") + rotation) Mod 26
  15. Caesar = Caesar & Chr(char)
  16. Else
  17. Caesar = Caesar & char
  18. End If
  19. Next
  20.  
  21. End Function

Saludos
7482  Programación / .NET (C#, VB.NET, ASP) / Re: Combinaciones letras o numeros en: 2 Febrero 2014, 18:19 pm
No se si te refieres a hacer algo como esto, porque el ejemplo que has dado con datos de typo Byte , con varios 'For Range' "fijos" del 1 al 4 y esa condicional me sigue pareciendo que tiene poco que ver con la pregunta real.

Este código combina todos los elementos de un Array de forma aleatoria, el resultado (en tu caso) son combinaciones de números desordenados.

Código
  1. Public Class Form1
  2.  
  3.    ''' <summary>
  4.    ''' Tu array numérico.
  5.    ''' </summary>
  6.    Private IntArray As Integer() =
  7.    {
  8.        10I, 20I, 30I, 40I, 50I, 60I, 70I, 80I, 90I
  9.    }
  10.  
  11.    Private Sub Button1_Click() Handles Button1.Click
  12.  
  13.        TextBox2.Text = String.Join("; ", RandomizeArray(IntArray))
  14.        ' TextBox2.Text = String.Join(Nothing, RandomizeArray(arr))
  15.  
  16.    End Sub
  17.  
  18.    ' By Elektro
  19.    '
  20.    ''' <summary>
  21.    ''' Randomizes the elements of the given Collection.
  22.    ''' </summary>
  23.    ''' <typeparam name="T"></typeparam>
  24.    ''' <param name="Collection">Indicates the Collection to randomize.</param>
  25.    ''' <returns>IEnumerable{``0}.</returns>
  26.    Public Function RandomizeArray(Of T)(ByVal Collection As IEnumerable(Of T)) As IEnumerable(Of T)
  27.  
  28.        Dim Randomizer As New Random
  29.        Return (From Item As T In Collection Order By Randomizer.Next).ToArray
  30.  
  31.    End Function
  32.  
  33. End Class
7483  Programación / .NET (C#, VB.NET, ASP) / Re: Combinaciones letras o numeros en: 2 Febrero 2014, 15:51 pm
Pero Luis, ¿has leido el título del snippet? xD, ese método no tiene nada que ver con combinar Arrays (y supongo que después de saber eso ya no te interesará el funcionamiento de las órdenes de LINQ).
( Tienes razón el Snippet lo publiqué yo, pero no es de mi propiedad. )

Las #Regiones sirven básicamente para organizar el código, si te fijas, en la IDE puedes expandir/colapsar una región, y así todo queda más armónico y profesional, no tiene ninguna otra utilidad ...son prácticamente comentarios que puedes eliminar.

No sé que más decirte porque semanas atrás ya te habré puesto unos 1.000 códigos diferentes para unir un Array y mostrarlo en un Listbox, el problema hace tiempo que debería estar solucionado pero como no es así postea el código que tienes y el problema que tienes con ese código porque sin problema no puede haber soluciones. ¿Que es lo que pretendes hacer?.

EDITO:
AAA y ya estoy con esto del insert code que no me sale joe....

¿Te refieres a insertar un código en el post?, pues para ser sincero yo te he editado todos y cada uno de los códigos que has publicado hasta el día de hoy xD, me das trabajo, no porque hayas infringido las normas ni nada por el estilo, es que símplemente me gusta ver un código con su sintaxis correcta (que nunca la usas xD), por eso no te he dicho nada porque las normas no las has infringido, no hay problema, aunque podrías hacer el favor de usar el tag más apropiado con tanto código que publicas:

Código:
[code = vbnet] Tu código [ /code]

Saludos!
7484  Programación / .NET (C#, VB.NET, ASP) / [APORTE] Reinicializar el escritorio de forma correcta en Windows 8.1 cuando... en: 1 Febrero 2014, 01:45 am
Reinicializar el escritorio de forma correcta en Windows 8.1 cuando un programa de terceros mata el Explorer.

Hoy me encontré en una situación algo extraña, necesitaba instalar un programa de terceros ...un reemplazamiento del botón de inicio apra Windows 8, y necesito que este proceso sea automatizado, pero al instalar este programa de forma silenciosa al terminar la instalación se mataba de forma automática el explorer.exe ...ya que el instalador así lo requiere, desaparecia el fondo, el taskbar, el explorer, quedando visible sólamente un fondo de un color solido.

La solución manual a este problema (al cual me he enfreentado muchas veces) es tan simple como abrir el administrador de tareas para ejecutar el explorer.exe, o hacerlo desde la consola de windows (CMD), pero como ya dije necesitaba automatizar la tarea así que intenté hacerlo desde la CMD, el problema es que al parecer esto no es suficiente Windows 8/8.1 (Desde la CMD).

...Por más que intenté ejecutar de forma automatizada el explorer.exe después de la instalación de este software sólamente se abria una ventana del explorer, quiero decir... los elementos del escritorio no se reinicializaban (taskbar, wallpaper, explorer...), y esa es la razón de porque he escrito esta pequeñísima mini-utilidad en VB.NET la cual me ha resuelto el problema.

Aquí tienen el source y un ejemplo de uso real (la aplicación del ejemplo es solo para Windows 8.1) si probais el ejemplo hacedlo en una VM no en vuestro PC ~> http://www.mediafire.com/download/nh8z5bkglh9se36/InitializeExplorer%20Sample.rar

El código fuente de la aplicación sólamente es esto, supongo que habrá escasas personas que tengan el mismo problema, pero bueno, que lo disfruten:

Código
  1. #Region " Imports "
  2.  
  3. Imports System.IO
  4. Imports System.Runtime.InteropServices
  5. Imports RefreshExplorer.NativeMethods
  6.  
  7. #End Region
  8.  
  9. ''' <summary>
  10. ''' Initializes a new instance of Explorer process.
  11. ''' </summary>
  12. Module RefreshExplorer
  13.  
  14. #Region " P/Invoke "
  15.  
  16.    ''' <summary>
  17.    ''' Class NativeMethods.
  18.    ''' </summary>
  19.    Friend Class NativeMethods
  20.  
  21.        ''' <summary>
  22.        ''' Retrieves a handle to the top-level window whose class name and window name match the specified strings.
  23.        ''' This function does not search child windows.
  24.        ''' This function does not perform a case-sensitive search.
  25.        ''' </summary>
  26.        ''' <param name="lpClassName">
  27.        ''' The class name or a class atom created by a previous call to the
  28.        ''' RegisterClass or RegisterClassEx function.
  29.        ''' The atom must be in the low-order word of lpClassName;
  30.        ''' the high-order word must be zero.
  31.        ''' If lpClassName points to a string, it specifies the window class name.
  32.        ''' The class name can be any name registered with RegisterClass or RegisterClassEx,
  33.        ''' or any of the predefined control-class names.
  34.        ''' If lpClassName is NULL, it finds any window whose title matches the lpWindowName parameter.
  35.        ''' </param>
  36.        ''' <param name="zero">
  37.        ''' The window name (the window's title).
  38.        ''' If this parameter is NULL, all window names match.</param>
  39.        ''' <returns>IntPtr.</returns>
  40.        <DllImport("user32.dll", EntryPoint:="FindWindow", SetLastError:=True, CharSet:=CharSet.Unicode)>
  41.        Public Shared Function FindWindowByClass(
  42.            ByVal lpClassName As String,
  43.            ByVal zero As IntPtr
  44.        ) As IntPtr
  45.        End Function
  46.  
  47.    End Class
  48.  
  49. #End Region
  50.  
  51. #Region " ReadOnly Strings "
  52.  
  53.    ''' <summary>
  54.    ''' Indicates the directory where the Explorer process is located.
  55.    ''' </summary>
  56.    Private ReadOnly ExplorerDirectory As String =
  57.        Environment.GetFolderPath(Environment.SpecialFolder.Windows)
  58.  
  59.    ''' <summary>
  60.    ''' Indicates the filename of the process.
  61.    ''' </summary>
  62.    Private ReadOnly ExplorerFilename As String = "Explorer.exe"
  63.  
  64.    ''' <summary>
  65.    ''' Indicates the desk Taskbar Class-name.
  66.    ''' </summary>
  67.    Private ReadOnly TaskBarClassName As String = "Shell_TrayWnd"
  68.  
  69. #End Region
  70.  
  71. #Region " Process "
  72.  
  73.    ''' <summary>
  74.    ''' The explorer process.
  75.    ''' </summary>
  76.    Dim Explorer As New Process With
  77.    {
  78.     .StartInfo = New ProcessStartInfo With
  79.                  {
  80.                   .FileName = Path.Combine(ExplorerDirectory, ExplorerFilename),
  81.                   .WorkingDirectory = My.Application.Info.DirectoryPath,
  82.                   .UseShellExecute = True
  83.                  }
  84.    }
  85.  
  86. #End Region
  87.  
  88. #Region " Main "
  89.  
  90.    ''' <summary>
  91.    ''' Defines the entry point of the application.
  92.    ''' </summary>
  93.    Sub Main()
  94.  
  95.        Select Case Convert.ToBoolean(CInt(FindWindowByClass(TaskBarClassName, Nothing)))
  96.  
  97.            Case False ' The Taskbar is not found.
  98.  
  99.                Try
  100.                    Explorer.Start()
  101.                    Console.WriteLine("Windows Explorer has been re-initialized successfully")
  102.                    Environment.Exit(0)
  103.  
  104.                Catch ex As Exception
  105.                    Console.WriteLine(ex.Message)
  106.                    Debug.WriteLine(ex.Message)
  107.                    Environment.Exit(1)
  108.  
  109.                End Try
  110.  
  111.            Case True ' The Taskbar is found.
  112.                Console.WriteLine("Can't proceed, Windows Explorer is currently running. Exiting...")
  113.                Environment.Exit(2)
  114.  
  115.        End Select
  116.  
  117.    End Sub
  118.  
  119. #End Region
  120.  
  121. End Module
7485  Programación / Scripting / Re: Consulta Batch encuentra archivo XML por contenido y modifica linea en: 31 Enero 2014, 19:45 pm
Hola

Si estás seguro de que el número de lineas y el contenido nunca va a cambiar en ese archivo XML pues... entonces la solución que has pensado es viable, aunque no me parece la mejor solución, yo te recomendaría utilizar la aplicación XMLStarlet que sirve precísamente para la edición de archivos XML, aunque óbviamente deberás tratar el archivo como un archivo XML indicando el namespace el attributo a modificar y etc.

Por otro lado Batch es muy feo y lento, muy poco óptimo para estas tareas de procesamiento, te propongo una solución mejor utilizando VBS (El intérprete ya viene con Windows así que no tienes que instalar software en la empresa):

NOTA: Asegúrate de que la codificación de los archivos XML sea ANSI.

Código
  1. ' El Objeto 'FileSystemObject'.
  2. Set FSO        = CreateObject("Scripting.FileSystemObject")
  3.  
  4. Directory      = ".\"             ' El directorio donde guardas los archivos.
  5. FileExt        = "xml"            ' La extensión de los archivos a escanear.
  6. LineToScan     = 7                ' La linea para identificar el archivo.
  7. TextToMatch    = "Something"      ' El texto que buscar en la linea a examinar.
  8. LineToReplace  = 22               ' El número de la linea a reemplazar.
  9. TextToReplace  = "<New Password>" ' El nuevo texto de la linea a reemplazar.
  10.  
  11. ' Recorro los archivos del directorio 'Directory'.
  12. For Each File In FSO.GetFolder(Directory).Files
  13.  
  14. ' Si la extensión del archivo es igual que 'FileExt'...
  15. If LCase(FSO.GetExtensionName(File)) = LCase(FileExt) Then
  16.  
  17. ' Creo un Array con el contenido del archivo (las lineas de texto).
  18. Lines = Split(FSO.OpenTextFile(File, 1).ReadAll(), vbcrlf)
  19.  
  20. ' Si la cantidad de elementos del Array (lineas) es igual o mayor que 'LineToReplace';
  21. ' y si además el texto de la linea 'LineToScan' es igual a 'TextToMatch'...
  22. If (uBound(Lines) => (LineToReplace -1)) And _
  23.   (LCase(Lines(LineToScan - 1)) = LCase(TextToMatch)) Then
  24.  
  25. ' Reemplazo la linea 'LineToReplace' por el texto 'TextToReplace'.
  26. Lines(LineToReplace -1) = TextToReplace
  27.  
  28. ' Reemplazo el archivo original, con los cambios realizados.
  29. FSO.CreateTextFile(File, 2).Write(Join(Lines, vbcrlf))
  30.  
  31. '' ...O Creo un nuevo documento en la misma carpeta del archivo original, con los cambios realizados.
  32. ' FSO.CreateTextFile(FSO.GetBaseName(File) & ".tmp", 2).Write(Join(Lines, vbcrlf))
  33.  
  34. ' Detengo la iteración de los elementos, salgo del búcle.
  35. Exit For ' // Each File In FSO.GetFolder(Directory).Files
  36.  
  37. End If ' // (uBound(Lines) => (LineToReplace -1)) And (LCase(Lines(LineToScan - 1)) = LCase(TextToMatch))
  38.  
  39. End If ' // LCase(FSO.GetExtensionName(File)) = LCase(FileExt)
  40.  
  41. Next ' // File
  42.  
  43. Wscript.Quit(0) ' Salisa exitosa: '0'
  44.  

Modifícalo a tus necesidades,
Saludos!
7486  Programación / Scripting / Re: Problema con Python en: 31 Enero 2014, 05:47 am
En Py2 ' Print ' es una declaración pero en Py3 ' Print ' es una función, por lo tanto tienes que usar la sintaxis correcta (usar los paréntesis para pasarle los parámetros al método).

Código
  1. print("Hello World")

Más diferencias que debes saber ~> http://docs.python.org/3.0/whatsnew/3.0.html

Saludos!
7487  Media / Multimedia / ¿Cual seria la mejor forma de automatizar esta tarea para crea video musical?... en: 30 Enero 2014, 05:32 am
Hola!

Tengo unas cuantas pistas de audio (archivos mp3) y quiero juntar todas las pistas de audio en 1 único archivo para añadirlo como pista de audio del video que quiero crear (para subirlo a youtube).

El problema es que no tengo "el video", es decir, me gustaría saber si me pueden ayudar a encontrar loops de animaciones DE TEMÁTICA ROCK para añadirlo como pista de video a mi video de youtube... ya que por más que intento buscar loops de videos no encuentro nada, ni de música en general, ni de rock, lo único que he encontrado gratis es esto :S http://www.youtube.com/watch?v=IPpzNQjaDsY , y los demás que encontré, son de pago.

También me gustaría saber si conocen una herramienta simple, algo que no sea tan pesado y profesional como el Sony Vegas o Adobe after effectssólamente para realizar la tarea de unir una pista de audio junto a un loop de video infinito... es decir, si tengo una pista de audio de 60 minutos, y un video de 2 minutos, ¿como puedo hacer un loop infinito de ese video para que ocupe los 60 minutos de duración de audio sin requerir el uso de utilidades que precisen mucha RAM?

Gracias por leer,
Saludos!
7488  Programación / Scripting / Re: Ayuda con VBS en: 30 Enero 2014, 01:35 am
error tonto y muy simple pues seguia usando comillas dobles
Código:
objcdo.subject = "TextRandom(n)"

Como información adicional quiero explicarte que la comilla doble es un símbolo reservado por el lenguaje para encerrar un String  (lo que resulta obvio :P), entonces cuando quieras insertar comillas dobles en un string debes escapar el caracter, la forma de escaparlo es duplicar el símbolo (2 comillas dobles para encerrar el string y 2 comillas dobles para insertar una comilla doble dentro del string) y concatenar el texto con el operador "&", todo esto se haría así:

Código
  1. objcdo.subject = """" & TextRandom(n) & """"

o bien:

Código
  1. objcdo.subject = """" & "Texto Normal" & """"

O también puedes utilizar la función Chr que devuelve el caracter de un byte (0-255):

Código
  1. objcdo.subject = chr(34) & TextRandom(n) & chr(34)

o bien:

Código
  1. objcdo.subject = chr(34) & "Texto Normal" & chr(34)

Saludos.
7489  Programación / Scripting / Re: Ayuda con VBS en: 29 Enero 2014, 23:14 pm
Bienvenido al foro.

1. Debes usar las etiquetas de código, porfavor lee las normas.

2. No existe ningún método que se denomine 'reemplace', en todo caso imagino que quieres decir 'replace', pero no entiendo el uso que le quieres dar en este escenario.

3. Para resolver la situación de poder usar una cadena de texto aleatoria como 'asunto', es tan simple como asignar los datos que devuelve el método 'TextRandom' a la propiedad 'Subject' del objeto 'objcdo'.
Código
  1. objcdo.subject = TextRandom(n)

Te sugiero que leas un tutorial básico, no de VBS, sinó de programación orientada a objetos en general, ya que esto es lo más básico de todo ...y supongo que no querrás pasarte la vida necesitando ayuda para resolver cosas básicas :P.

Saludos!
7490  Programación / Programación General / Re: [DUDA] se puede usar parte del CLAMWIN para un proyecto???? en: 29 Enero 2014, 23:04 pm
¿Tanto cuesta buscar los términos de uso de "X" software?:

~> http://www.clamwin.com/content/view/226/52/
~> http://www.gnu.org/licenses/licenses.html#GPL

...Podría responderte con información más util pero estoy cansado de la gente que no lee nada.

Saludos!
Páginas: 1 ... 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 [749] 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 ... 1236
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines