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 ... 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 [929] 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 ... 1253
9281  Programación / Scripting / Re: Ayuda con bat en: 15 Mayo 2013, 17:17 pm
...si te doy el código hecho, a parte de infringir las normas del foro...

Aclaración: No se infringe ninguna norma por ayudar a un usuario a resolver un problema (o darselo todo hecho junto un masaje de pies si tiene mucho morro en pedir) ...siempre que no se ayude en actos delictivos/prohibidos en el foro.

Saludos
9282  Programación / Scripting / Re: Ayuda con For /f en: 15 Mayo 2013, 17:15 pm
Bienvenido a Batch,

El problema es que no estás expandiendo las variables dentro de los búcles.

Añade un:
Código:
Setlocal EnableDelayedExpansion

Y usa las variables con exclamaciones:
Código:
Echo !resul2!

O no añadas nada y usa Call:
Código:
Call %%resul2%%



http://foro.elhacker.net/scripting/tema_bloqueado_hasta_finalizar_el_tuto_tutorial_extendido_de_aprendizaje_batch-t375135.15.html

Cita de: Elektro H@cker
  • 6.3 Variables expandidas

Las variables expandidas son prácticamente igual que las variables standard, pero para poder usarlas se debe habilitar la expansión de las mismas con el comando SETLOCAL:
Código:
Setlocal enabledelayedexpansion

Ejemplo:
Código:
@Echo OFF
Setlocal enabledelayedexpansion
Set "VARIABLE=VALOR"
Echo !VARIABLE!
Pause >NUL



Esta técnica se usa comúnmente dentro de un FOR donde para poder mostrar variables tienen que estar expandidas.

Pero estas variables tienes sus inconvenientes, ya que al habilitar la expansión, solamente podremos usar el caracter ! como operador de variable, es decir, no podremos mostrar el caracter (Ni siquiera excluyendolo ni usando comillas).

Ejemplo:
Código:
@Echo OFF
Setlocal enabledelayedexpansion
Echo !Hola
Echo ^!Hola
Echo "!Hola"
Pause >NUL



NOTA: Siempre se puede evitar la expansión y su restricción de caracteres, eso lo explicaré cuando lleguemos a la temática FOR.


http://ss64.com/nt/delayedexpansion.html


PD: Usa el botón "Insertar código" cuando postees
9283  Programación / .NET (C#, VB.NET, ASP) / Re: Instalacion/Recuperacion en: 14 Mayo 2013, 23:19 pm
Como ya te digo no lo he testeado en el Vs2010 pero si en el instalador de vs2012, estas son algunas de las carpetas de "package cache", quizás te sirva para saber si alguna de las carpetas "package" que encontraste es la correcta:

Código:
F:\Programas\Programación\Microsoft Visual Studio Ultimate 2012.exe Setup\{tmp}\packages>dir /B

64bitPrereq
Bliss_Core
Bliss_LP
dotNetFramework
IntelliTraceCore
IntelliTraceFrontEnd
NetFxDTP
premiumcore
premiumlp
Preparation.exe
professionalcore
professionallp
Reporting Services
sdk_tools35
sdk_tools4
TeamExplorerCore
TeamExplorerLP
TFSObjectModel
TFSObjectModelLP
ultimatecore
ultimatelp
ultimate_finalizer.msi
vcRuntimeAdditional_amd64
vcRuntimeAdditional_x86
vcRuntimeMinimum_amd64
vcRuntimeMinimum_x86
VS_Clean
vs_devenv
vs_devenvLP
vs_minshellcore
vs_minshellinterop
vs_minshellres
WcfDataServices
Windows_SDK
WPT

...Y lo que hago siempre es colocar esas carpetas junto al setup.exe como te dije para que la próxima vez no tener que descargar todos esos paquetes y así la instalación tarda 5 minutos.

Otra alternativa sería que te actualizases al VS2012 para hacer "el truco" que te he comentado, aquí te lo puedes descargar en versión Ultimate y con un sin fín de extras por parte de un servidor: http://foro.elhacker.net/software/aporte_megapack_para_iniciarse_en_net_vs2012_recursos_tools-t380188.0.html

   

Vale, eso ya ha sido un poco Spam xD, pero es una opción y más no puedo ayudar, a ver si alguien te aporta algo más al tema,
Suerte!
9284  Programación / .NET (C#, VB.NET, ASP) / Re: Librería de Snippets !! (Posteen aquí sus snippets) en: 13 Mayo 2013, 07:40 am
Una class para combinar ejecutable de .NET con dependencias (dll's) en tiempo de ejecución...

Se necesita la aplicación IlMerge

Código
  1. #Region " IlMerge "
  2.  
  3. ' [ IlMerge Functions ]
  4. '
  5. ' // By Elektro H@cker
  6. '
  7. ' Instructions:
  8. ' 1. Add the "IlMerge.exe" to the project
  9. ' 2. Add the "IlMerge" Class to the project
  10. '
  11. ' Examples:
  12. ' IlMerge.Merge({"C:\Application.exe", "C:\Dependency.dll"}, "C:\Merged.exe")
  13. ' MsgBox(IlMerge.Merge({"C:\Application.exe", "C:\Dependency.dll"}, "C:\Merged.exe"))
  14.  
  15.  
  16. #Region " IlMerge class "
  17.  
  18. Public Class IlMerge
  19.  
  20.    ''' <summary>
  21.    ''' Set the location of IlMerge executable [Default: ".\IlMerge.exe"].
  22.    ''' </summary>
  23.    Public Shared IlMerge_Location As String = ".\IlMerge.exe"
  24.    ''' <summary>
  25.    ''' Set the location of IlMerge log file [Default: ".\IlMerge.log"].
  26.    ''' </summary>
  27.    Public Shared IlMerge_Log_Location As String = IlMerge_Location.Substring(0, IlMerge_Location.Length - 4) & ".log"
  28.  
  29.    ''' <summary>
  30.    ''' Merge
  31.    ''' </summary>
  32.    Public Shared Function Merge(ByVal InputFiles As String(), ByVal OutputFile As String) As Boolean
  33.  
  34.        Dim FilesString As String = Nothing
  35.        For Each File In InputFiles : FilesString += """" & File & """" & " " : Next
  36.  
  37.        Try : IO.File.Delete(IlMerge_Log_Location) : Catch : End Try ' Deletes old log if exist
  38.  
  39.        Try
  40.            Dim ResHacker As New Process()
  41.            Dim ResHacker_Info As New ProcessStartInfo()
  42.  
  43.            ResHacker_Info.FileName = IlMerge_Location
  44.            ResHacker_Info.Arguments = "/ndebug /log:" & """" & IlMerge_Log_Location & """" & " /out:" & """" & OutputFile & """" & " " & FilesString
  45.            ResHacker_Info.UseShellExecute = False
  46.            ResHacker.StartInfo = ResHacker_Info
  47.            ResHacker.Start()
  48.            ResHacker.WaitForExit()
  49.  
  50.            Try : IO.File.Delete(OutputFile.Substring(0, OutputFile.Length - 4) & ".pdb") : Catch : End Try ' Deletes Debug Generated File
  51.            Return Check_Last_Error()
  52.  
  53.        Catch ex As Exception
  54.            MsgBox(ex.Message)
  55.            Return False
  56.        End Try
  57.  
  58.    End Function
  59.  
  60.    ''' <summary>
  61.    ''' Return the last operation error if any [False = ERROR, True = Ok].
  62.    ''' </summary>
  63.    Private Shared Function Check_Last_Error()
  64.  
  65.        Try
  66.            Dim Line As String = Nothing
  67.            Dim Text As IO.StreamReader = IO.File.OpenText(IlMerge_Log_Location)
  68.  
  69.            Do Until Text.EndOfStream
  70.                Line = Text.ReadLine()
  71.                If Line.ToString.StartsWith("An exception occurred") Then
  72.                    Process.Start(IlMerge_Log_Location)
  73.                    Return False
  74.                End If
  75.            Loop
  76.  
  77.            Text.Close()
  78.            Text.Dispose()
  79.            Return True
  80.        Catch ex As Exception
  81.            MsgBox(ex.Message)
  82.            Return False
  83.        End Try
  84.  
  85.    End Function
  86.  
  87. End Class
  88.  
  89. #End Region
  90.  
  91. #End Region
9285  Programación / .NET (C#, VB.NET, ASP) / Re: Instalacion/Recuperacion en: 13 Mayo 2013, 07:27 am
Todo eso pertenece al ÚNICO instalador del VS2010, los instaladores de los componentes de C# y SQL son instaladores secundarios, si no los has eliminado con una limpieza de CCLenaer los podrás encontrar aquí: C:\ProgramData\Package Cache

Pero como son secundarios significa que la mayoría no te dejará instalarlos por si solos si no usas el instalador principal (el de VS2010).

Lo que te aconsejo es que copies el contenido de la carpeta entera "C:\ProgramData\Package Cache" a una nueva carpeta llamada "packages", junto al instalador de VS, y así la próxima vez que quieras instalar VS no tendrá que descargar ningún componente, porque le estás indicando que ya dispones de los paquetes descargados.

...Por si no ha quedado claro, esta debe ser la estructura:

Código:
C:\Carpeta\
C:\Carpeta\VS_Setup.exe
C:\Carpeta\Packages\

EDITO: No lo he testeado con el instalador del VS2010 (lo hago así en vs2012).

Saludos.
9286  Programación / .NET (C#, VB.NET, ASP) / MSBuild no me quiere compilar una class en: 12 Mayo 2013, 23:25 pm
Tengo un proyecto que se compila perféctamente en VS2012, sin NINGÚN error ni aviso.

Cuando intento compilar el mismo proyecto usando MSBuild 3.0 o 3.5 me sale un montón de errores en una class en concreto:

Código:
    Microsoft (R) Build Engine, versión 3.5.30729.5420
    [Microsoft .NET Framework, versión 2.0.50727.5420]
    Copyright (C) Microsoft Corporation 2007. Reservados todos los derechos.
   
    Build started 12/05/2013 22:50:43.
    Project "C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\Virtuosa Game Packer.sln" on node 0 (default targets).
      Building solution configuration "Debug|Any CPU".
    Project "C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\Virtuosa Game Packer.sln" (1) is building "C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\Extractor.vbproj" (2) on node 0 (default targets).
    Project file contains ToolsVersion="4.0", which is not supported by this version of MSBuild. Treating the project as if it had ToolsVersion="3.5".
    CoreResGen:
      No hay ningún recurso obsoleto con respecto a sus archivos de código fuente. Se omitirá la generación de recursos.
    C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\GlobalHotkeys.vb(24): error BC30124: La propiedad sin un especificador 'ReadOnly' o 'WriteOnly' debe proporcionar una instrucci¾n 'Get' y una instrucci¾n 'Set'.
    C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\GlobalHotkeys.vb(25): error BC30634: La instrucci¾n no puede aparecer dentro del cuerpo de una propiedad. Se supone el final de la propiedad.
    C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\GlobalHotkeys.vb(25): error BC30025: Falta 'End Property' en Property.
    C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\GlobalHotkeys.vb(57): error BC32035: El especificador de atributo no es una instrucci¾n completa. Utilice una continuaci¾n de lÝnea para aplicar el atributo a la instrucci¾n siguiente.
    C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\GlobalHotkeys.vb(61): error BC30456: 'Key' no es un miembro de 'Virtuosa_Game_Packer.Shortcut.HotKeyEventArgs'.
    Done Building Project "C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\Extractor.vbproj" (default targets) -- FAILED.
    Done Building Project "C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\Virtuosa Game Packer.sln" (default targets) -- FAILED.
   
    Build FAILED.
   
    "C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\Virtuosa Game Packer.sln" (default target) (1) ->
    "C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\Extractor.vbproj" (default target) (2) ->
    (CoreCompile target) ->
      C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\GlobalHotkeys.vb(24): error BC30124: La propiedad sin un especificador 'ReadOnly' o 'WriteOnly' debe proporcionar una instrucci¾n 'Get' y una instrucci¾n 'Set'.
      C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\GlobalHotkeys.vb(25): error BC30634: La instrucci¾n no puede aparecer dentro del cuerpo de una propiedad. Se supone el final de la propiedad.
      C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\GlobalHotkeys.vb(25): error BC30025: Falta 'End Property' en Property.
      C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\GlobalHotkeys.vb(57): error BC32035: El especificador de atributo no es una instrucci¾n completa. Utilice una continuaci¾n de lÝnea para aplicar el atributo a la instrucci¾n siguiente.
      C:\Projects\game\WindowsApplication10 - copia\Extractor_backup\GlobalHotkeys.vb(61): error BC30456: 'Key' no es un miembro de 'Virtuosa_Game_Packer.Shortcut.HotKeyEventArgs'.
   
        0 Warning(s)
        5 Error(s)
   
    Time Elapsed 00:00:00.25

Es imprescindible para mi poder compilar dicho proyecto usando MSBuild.

¿Posible solución 1?: Un parámetro o algo parecido para usar en el msbuild para omitir errores? ¿o talvez crear una taréa de MSBuild? (Por más que he buscado información sobre las msbuild tasks no sé donde coño se debe hacer/colocar/crear ni como usar el archivo xml, y todo lo que encuentro es código para C#, tampoco sé si una task de msbuild me sirve para esto).

¿Posible solución 2?: Que alguna persona amable me ayude a corregir las líneas de la Class donde el MSBuild me marca ridículos errores de compilación.

Esta es la class:

Código
  1.    #Region " GlobalHotkeys Class "
  2.  
  3.    Class Shortcut
  4.  
  5.        Inherits NativeWindow
  6.        Implements IDisposable
  7.  
  8.        Protected Declare Function UnregisterHotKey Lib "user32.dll" (ByVal handle As IntPtr, ByVal id As Integer) As Boolean
  9.        Protected Declare Function RegisterHotKey Lib "user32.dll" (ByVal handle As IntPtr, ByVal id As Integer, ByVal modifier As Integer, ByVal vk As Integer) As Boolean
  10.  
  11.        Event Press(ByVal sender As Object, ByVal e As HotKeyEventArgs)
  12.        Protected EventArgs As HotKeyEventArgs, ID As Integer
  13.  
  14.        Enum Modifier As Integer
  15.            None = 0
  16.            Alt = 1
  17.            Ctrl = 2
  18.            Shift = 4
  19.        End Enum
  20.  
  21.        Class HotKeyEventArgs
  22.  
  23.            Inherits EventArgs
  24.            Property Modifier As Shortcut.Modifier
  25.            Property Key As Keys
  26.  
  27.        End Class
  28.  
  29.        Class RegisteredException
  30.  
  31.            Inherits Exception
  32.            Protected Const s As String = "Shortcut combination is in use."
  33.  
  34.            Sub New()
  35.                MyBase.New(s)
  36.            End Sub
  37.  
  38.        End Class
  39.  
  40.        Private disposed As Boolean
  41.  
  42.        Protected Overridable Sub Dispose(ByVal disposing As Boolean)
  43.            If Not disposed Then UnregisterHotKey(Handle, ID)
  44.            disposed = True
  45.        End Sub
  46.  
  47.        Protected Overrides Sub Finalize()
  48.            Dispose(False)
  49.            MyBase.Finalize()
  50.        End Sub
  51.  
  52.        Sub Dispose() Implements IDisposable.Dispose
  53.            Dispose(True)
  54.            GC.SuppressFinalize(Me)
  55.        End Sub
  56.  
  57.        <DebuggerStepperBoundary()>
  58.        Sub New(ByVal modifier As Modifier, ByVal key As Keys)
  59.            CreateHandle(New CreateParams)
  60.            ID = GetHashCode()
  61.            EventArgs = New HotKeyEventArgs With {.Key = key, .Modifier = modifier}
  62.            If Not RegisterHotKey(Handle, ID, modifier, key) Then Throw New RegisteredException
  63.        End Sub
  64.  
  65.        Shared Function Create(ByVal modifier As Modifier, ByVal key As Keys) As Shortcut
  66.            Return New Shortcut(modifier, key)
  67.        End Function
  68.  
  69.        Protected Sub New()
  70.        End Sub
  71.  
  72.        Protected Overrides Sub WndProc(ByRef m As Message)
  73.            Select Case m.Msg
  74.                Case 786
  75.                    RaiseEvent Press(Me, EventArgs)
  76.                Case Else
  77.                    MyBase.WndProc(m)
  78.            End Select
  79.        End Sub
  80.  
  81.    End Class
  82.  
  83.    #End Region
  84.  

Gracias por leer.
9287  Media / Multimedia / Re: (consulta) Megui audio desincronizado x264+aac en: 12 Mayo 2013, 22:55 pm
Coincido con lo de no usar packs de codecs, yo hace mas de 4 años que no uso uno, instalo lo mínimo necesario para la reproducción que es es FFDShow y Haali media splitter, el AC3 filter a veces lo instalo y a veces no, para mi es opcional ya que FFDShow incluye decodificador para AC3/DTS. Si instalas AC3 filter no olvides deshabilitar el decodificador de FFDShow.

Sugerencia: Si instalas ffdshow lo que debes instalar es el AC3File como dije, no el Filter, así no necesitas desactivar nada.

http://www.ac3filter.net/

Un saludo!
9288  Media / Multimedia / Re: (consulta) Megui audio desincronizado x264+aac en: 11 Mayo 2013, 16:14 pm
en que post te aclara eso?

No lo recuerdo, creo que fue en un post de mi antiguo usuario, pregunté algo sobre el klite, pero no sé ni que pregunté, y luego la conversación fue tomando forma hacia que codecs eran necesarios y cuales no.

Saludos.
9289  Programación / .NET (C#, VB.NET, ASP) / Re: Librería de Snippets !! (Posteen aquí sus snippets) en: 11 Mayo 2013, 11:45 am

Devuelve la dirección IP de un Host

Código
  1. #Region " HostName To IP "
  2.  
  3.    ' [ HostName To IP Function ]
  4.    '
  5.    ' // By Elektro H@cker
  6.    '
  7.    ' Examples :
  8.    '
  9.    ' MsgBox(HostName_To_IP("www.google.com")) ' Result: 173.194.41.6
  10.  
  11.    Public Function HostName_To_IP(ByVal HotsName As String) As String
  12.        Return System.Net.Dns.GetHostEntry(HotsName).AddressList(1).ToString()
  13.    End Function
  14.  
  15. #End Region



Devuelve el Hostname de una IP

Código
  1. #Region " IP To HostName "
  2.  
  3.    ' [ IP To HostName Function ]
  4.    '
  5.    ' // By Elektro H@cker
  6.    '
  7.    ' Examples :
  8.    '
  9.    ' MsgBox(IP_To_HostName("173.194.41.6")) ' Result: mad01s14-in-f6.1e100.net
  10.  
  11.    Public Function IP_To_HostName(ByVal IP As String) As String
  12.        Return system.net.Dns.GetHostEntry(IP).HostName.ToString
  13.    End Function
  14.  
  15. #End Region





Valida si un nombre de archivo o ruta contiene caracteres no permitidos por Windows

(Este snippet lo posteé hace tiempo pero tenía varios fallos, los he corregido.)

Código
  1. #Region " Validate Windows FileName "
  2.  
  3.    ' [ Validate Windows FileName Function ]
  4.    '
  5.    ' Examples :
  6.    ' MsgBox(Validate_Windows_FileName("C:\Test.txt"))  ' Result: True
  7.    ' MsgBox(Validate_Windows_FileName("C:\Te|st.txt")) ' Result: False
  8.  
  9.    Private Function Validate_Windows_FileName(ByRef FileName As String)
  10.        Dim Directory As String = Nothing
  11.        Dim File As String = Nothing
  12.  
  13.        Try
  14.            Directory = FileName.Substring(0, FileName.LastIndexOf("\")) & "\"
  15.            File = FileName.Split("\").Last
  16.        Catch
  17.            If Directory Is Nothing Then File = FileName
  18.        End Try
  19.  
  20.        If Directory Is Nothing AndAlso File Is Nothing Then Return False
  21.  
  22.        If Not Directory Is Nothing Then
  23.            For Each InvalidCharacter As Char In IO.Path.GetInvalidPathChars
  24.                If Directory.Contains(InvalidCharacter) Then
  25.                    ' MsgBox(InvalidCharacter)
  26.                    Return False
  27.                End If
  28.            Next
  29.        End If
  30.  
  31.        If Not File Is Nothing Then
  32.            For Each InvalidCharacter As Char In IO.Path.GetInvalidFileNameChars
  33.                If File.Contains(InvalidCharacter) Then
  34.                    ' MsgBox(InvalidCharacter)
  35.                    Return False
  36.                End If
  37.            Next
  38.        End If
  39.  
  40.        Return True ' FileName is valid
  41.    End Function
  42.  
  43. #End Region
9290  Programación / .NET (C#, VB.NET, ASP) / Re: Librería de Snippets !! (Posteen aquí sus snippets) en: 11 Mayo 2013, 08:28 am
Hacer Ping a una máquina:

Código
  1.    #Region " Ping "
  2.  
  3.       ' [ Ping Function ]
  4.       '
  5.       ' // By Elektro H@cker
  6.       '
  7.       ' Examples :
  8.       ' MsgBox(Ping("www.google.com"))
  9.       ' MsgBox(Ping("www.google.com", 500))
  10.       ' MsgBox(Ping("www.google.com", 500, New Byte(128) {}, False))
  11.       ' MsgBox(Ping("www.google.com", 500, System.Text.Encoding.ASCII.GetBytes("Hello"), True))
  12.       ' For X As Int32 = 1 To 10 : If Not Ping("www.google.com", 1000) Then : MsgBox("Ping try " & X & " failed") : End If : Next : MsgBox("Ping successfully")
  13.  
  14.       Public Function Ping(ByVal Address As String, _
  15.                              Optional ByVal TimeOut As Int64 = 200, _
  16.                              Optional ByVal BufferData As Byte() = Nothing, _
  17.                              Optional ByVal FragmentData As Boolean = False, _
  18.                              Optional ByVal TimeToLive As Int64 = 128) As Boolean
  19.  
  20.           Dim PingSender As New System.Net.NetworkInformation.Ping()
  21.           Dim PingOptions As New System.Net.NetworkInformation.PingOptions()
  22.  
  23.           If FragmentData Then PingOptions.DontFragment = False Else PingOptions.DontFragment = True
  24.           If BufferData Is Nothing Then BufferData = New Byte(31) {} ' Sets a BufferSize of 32 Bytes
  25.           PingOptions.Ttl = TimeToLive
  26.  
  27.           Dim Reply As System.Net.NetworkInformation.PingReply = PingSender.Send(Address, TimeOut, BufferData, PingOptions)
  28.  
  29.           If Reply.Status = System.Net.NetworkInformation.IPStatus.Success Then
  30.               ' MsgBox("Address: " & Reply.Address.ToString)
  31.               ' MsgBox("RoundTrip time: " & Reply.RoundtripTime)
  32.               ' MsgBox("Time to live: " & Reply.Options.Ttl)
  33.               ' MsgBox("Buffer size: " & Reply.Buffer.Length)
  34.               Return True
  35.           Else
  36.               Return False
  37.           End If
  38.  
  39.       End Function
  40.  
  41.    #End Region
Páginas: 1 ... 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 [929] 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 ... 1253
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines