Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Eleкtro

#587
Por más que busco no encuentro la ISO del Win8.1 Core x64 en español, ni googleando ni por torrents, solo me encuentro la versión Pro y las típicas ISO's AIO.

No pido la ISO activada ni nada ilegal, solo necesito descargar la ISO de la edición Core porque requiero el archivo de instalación 'Install.Wim' original para hacerle unas modificaciones para una instalación desatendida.

Me he descargado varias ISO's de Win8.1 All-In-One (AIO) pero le modificarion el archivo 'Install.wim' a otro formato: 'Install.ESD' y no me lo reconoce en el software que estoy usando (aunque le cambie la extensión a .WIM), así que, necesito la ISO normal sin modificar, de la edición normal (Core), en 64 Bit, y en español. No una ISO AIO.

¿Alguien tiene idea?

EDITO: Creo que esta es la ISO que necesito:
File Name: es_windows_8_1_x64_dvd_2707379.iso
Languages: Spanish
SHA1: 08C6B43ED6C96E7F98DAED9D13308E536B6D1481

...Ya que según MSDN no parece que se distribuya la versión Core por separado ~> https://msdn.microsoft.com/en-us/subscriptions/securedownloads/hh442898#searchTerm=Windows%208.1&ProductFamilyId=0&Languages=es&Architectures=x64&ProductFamilyIds=524&FileExtensions=.iso&PageSize=10&PageIndex=0&FileId=0

EDITO: He encontrado la ISO de arriba por torrent (con el mismo Hash), pero sólamente tiene 3 semillas ...no descarga y pueden pasar dias hasta que finalice para poder testear si es la ISO correcta, si alguien conoce algún sitio donde descargar de forma más rápida la maldita versión Core del 8.1 x64 en español lo agradecería...
~> http://pirateproxy.net/torrent/8890507/WINDOWS.8.1.RTM.X64.SPANISH

Un saludo!
#588
Bueno, he codeado este mini Script para determinar si un proceso (existente) tiene las conexiones entrantes o salientes bloqueadas por el firewall de Windows.

Mi intención es usar este script desde unas opciones que crearé en el menú contextual de Windows para bloquear conexiones, desbloquear, y comprobar si un proceso ya está bloqueado.

EDITO: Mejorado.
Código (vb) [Seleccionar]
' *********************
' FirewallRuleCheck.vbs
' *********************
' By Elektro


' ------------
' Description:
' ------------
'
' This script determines whether a program has the Inbound or Outbound connections blocked by the Windows Firewall rules.
'
' NOTE: Possibly this script will not work under Windows XP where;
'       the Netsh syntax is different and maybe the Firewall registry values could be diferent too, I've don't tested it.
'       Tested on Windows 8.


' -------
' Syntax:
' -------
'
' FirewallRuleCheck.vbs "[File]" "[ConnectionType]" "[ReturnResult]"


' -----------
' Parameters:
' -----------
'
' [File]
' This parameter indicates the file to check their connection status.
' The value should be the relative or absolute filepath of an existing file.
'
' [ConnectionType]
' This parameter indicates whether to check inbound or outbound connection status.
' The value should be "In" or "Out".
'
' [ReturnResult]
' This parameter indicates whether the result should be returned without displaying any info;
' for example, when calling this script from other script to expect a Boolean result.
' The value is Optional, and should be "True" or "False". Default value is "False".


' ---------------
' Usage examples:
' ---------------
'
' FirewallRuleCheck.vbs "C:\Program.exe"  IN
' FirewallRuleCheck.vbs "C:\Program.exe" OUT
' BooleanExitCode = FirewallRuleCheck.vbs "C:\Program.exe"  IN True
' BooleanExitCode = FirewallRuleCheck.vbs "C:\Program.exe" OUT True


' -----------
' Exit codes:
' -----------
'
' When 'ReturnResult' parameter is set to 'False':
'      0: Successful exit.
'      1: Missing arguments or too many arguments.
'      2: File not found.
'      3: Wrong value specified for parameter '[ConnectionType]'
'      4: Wrong value specified for parameter '[ReturnResult]'
'      5: Specific Error.
'
' When 'ReturnResult' parameter is set to 'True':
'     -1: 'True'  (Rule is not added).
'      0: 'False' (Rule is already added).
'      (All the other ExitCodes: '1', '2', '3', '4' and '5' can happen in this mode, except '0')


' *************
Option Explicit

Const MsgBoxSyntax   = "FirewallRuleCheck.vbs ""[File]"" ""[ConnectionType]"" ""[ReturnResult]"""
Const MsgBoxCaption  = "Firewall Rule Check"
Const MsgBoxErrorIco = 16
Const MsgBoxInfoIco  = 64
Const MsgBoxDebugIco = 48

Dim objFile        ' Indicates the file object.
Dim objReg         ' Indicates the registry object.
Dim Root           ' Indicates the root registry key.
Dim Key            ' Indicates the registry key.
Dim MatchData      ' Indicates the data to match.
Dim Values         ' Indicates the registry value collection.
Dim Value          ' Indicates the registry value.
Dim Data           ' Indicates the registry data.
Dim DataIsMatched  ' Indicates whether the data is matched.
Dim ConnectionType ' Indicates whether to check inbound or outbound connection status.
Dim ReturnResult   ' Indicates whether the result should be returned without displaying any info;
                  ' for example, when calling this script from other script to expect a Boolean result.
Dim DebugMode      ' Indicates whether the debug mode is activated.


' Set the debug mode to 'True' if need to test the values.
DebugMode = False

' Set the 'HKEY_LOCAL_MACHINE' as Root registry key.
Root = &H80000002

' Set the Firewall rules registry location as key.
Key = "SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules"

' Sets the Registry object.
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")

' Argument error handling.
If Wscript.Arguments.Count = 0 Then

' Notify the error to the user.
MsgBox "Syntax:" & VBNewLine & _
      MsgBoxSyntax          , _
      MsgBoxErrorIco, MsgBoxCaption

' Exit with reason: 'Missing arguments'.
Wscript.Quit(1)

ElseIf Wscript.Arguments.Count < 2 Then

' Notify the error to the user.
MsgBox "Missing arguments."  & _
      VBNewLine & VBNewLine & _
      "Syntax:" & VBNewLine & _
      MsgBoxSyntax          , _
      MsgBoxErrorIco, MsgBoxCaption

' Exit with reason: 'Missing arguments'.
Wscript.Quit(1)

ElseIf Wscript.Arguments.Count = 3 Then

If LCase(Wscript.Arguments(2)) = LCase("True") Then
ReturnResult = True

Elseif LCase(Wscript.Arguments(2)) = LCase("False") Then
ReturnResult = False

Else

' Notify the error to the user.
MsgBox "Wrong value specified for parameter 'Return Result'", _
      MsgBoxErrorIco, MsgBoxCaption

' Exit with reason: 'Wrong value specified for parameter '[Return Result]''.
Wscript.Quit(4)

End If

ElseIf Wscript.Arguments.Count > 3 Then

' Notify the error to the user.
MsgBox "Too many arguments." & _
      VBNewLine & VBNewLine & _
      "Syntax:" & VBNewLine & _
      MsgBoxSyntax          , _
      MsgBoxErrorIco, MsgBoxCaption

' Exit with reason: 'Too many arguments'.
Wscript.Quit(1)

End If

On Error Resume Next

' Set the FileObject with the file passed through the first argument.
Set objFile = Createobject("Scripting.FileSystemObject"). _
             GetFile(Wscript.Arguments(0))

' File-Error handling.
If Err.Number = 53 Then

' Notify the error to the user.
MsgBox "File not found:"   & _
      vbnewline           & _
      Wscript.Arguments(0), _
      MsgBoxErrorIco, MsgBoxCaption

' Exit with reason: 'File not found'.
Wscript.Quit(2)

End If

' Set the partial data to match on each value-data.
If LCase(Wscript.Arguments(1)) = LCase("IN") Then

' Set the ConnectionType to 'Inbound'
ConnectionType = "Inbound"

Elseif LCase(Wscript.Arguments(1)) = LCase("OUT") Then

' Set the ConnectionType to 'Outbound'
ConnectionType = "Outbound"

Else ' Wrong argument.

' Notify the error to the user.
MsgBox "Wrong value specified for parameter '[ConnectionType]'", _
      MsgBoxErrorIco, MsgBoxCaption

' Exit with reason: 'Wrong value specified for parameter '[ConnectionType]''.
Wscript.Quit(3)

End If

' Set the data to match (It's a portion of the firewall rule).
MatchData = "Action=Block|Active=TRUE|Dir=" & Wscript.Arguments(1) & "|App=" & objFile.Path

' Enumerate the registry values.
objReg.EnumValues Root, Key, Values

If DebugMode Then

' Notify the debug information.
MsgBox "File: "            & objFile.Path   & vbnewline & vbnewline & _
      "ConnectionType: "  & ConnectionType & vbnewline & vbnewline & _
      "Key: "             & Key            & vbnewline & vbnewline & _
      "Value count: "     & UBound(Values) & vbnewline & vbnewline & _
      "MatchData: "       & MatchData      & vbnewline             , _
      MsgBoxDebugIco,     "Debug Info | "  & MsgBoxCaption

End If

' Loop through the enumerated registry values.
For Each Value In Values

' Get the registry data.
objReg.GetStringValue Root, Key, Value, Data

' If registry data is not empty then...
If Not IsNull(Data) Then
' Match the partial data onto the registry data.

' If partial data matched in into the data then...
If InStr(1, Data, MatchData, 1) Then

' Set the DataIsMatched flag to 'True'.
DataIsMatched = True

' ...and stop the iteration.
Exit For

End If ' // InStr()

End If ' // IsNull()

Next ' // Value

' Error handling.
If Err.Number <> 0 Then

' Notify the error to the user.
MsgBox "Error Code: "   & Err.Number & vbnewline & _
      "Error Source: " & Err.Source & vbnewline & _
      "Description: "  & Err.Description        , _
      MsgBoxErrorIco, MsgBoxCaption

' Exit with reason: 'Specific error'.
Wscript.Quit(5)

End If

If ReturnResult Then

If DataIsMatched = True Then
' Exit with boolean result 'True' (Rule already exist).
Wscript.Quit(-1)
Else
' Exit with boolean result 'False' (Rule doesn't exist).
Wscript.Quit(0)
End If

End If

' This (ridiculous) conversion is needed;
' because the VBS engine prints the boolean value into a MsgBox;
' according to the OS language ( Spanish: Verdadero|Falso )
If DataIsMatched = True Then
DataIsMatched = "True"
Else
DataIsMatched = "False"
End If

' Notify the information to the user.
MsgBox "File: "       & objFile.Name    & vbnewline & _
      "Connection: " & ConnectionType  & vbnewline & _
      "Blocked?: "   & DataIsMatched               , _
      MsgBoxInfoIco, MsgBoxCaption

' Exit successfully.
Wscript.Quit(0)


Ejemplos de uso:

Wscript.exe ThisScript.vbs "C:\Program.exe" IN

Wscript.exe ThisScript.vbs "C:\Program.exe" OUT

PD: No sé si funcionará en WindowsXP, por que Netsh usa una sintaxis distinta a las versiones posteriores de Windows y supongo que en los valores de las claves de las reglas del Firewall también se verán reflejados estos cambios de sintaxis, no lo sé, no lo he comprobado.

Saludos!






Otro script, para añadir reglas de bloqueo de conexiones entrantes o salientes del firewall de Windows:

( Estos scripts dependen del primer script, 'FirewallRuleCheck.vbs', puesto que llaman a dicho script para verificar si una regla existe o si no existe )

EDITO: Mejorado
Código (vb) [Seleccionar]
' *******************
' FirewallRuleAdd.vbs
' *******************
' By Elektro


' ------------
' Description:
' ------------
'
' This Script adds a Firewall rule to block the Inbound or Outbound connections of a file.
'
' NOTE: Possibly this script will not work under Windows XP where;
'       the Netsh syntax is different and maybe the Firewall registry values could be diferent too, I've don't tested it.
'       Tested on Windows 8.


' -------
' Syntax:
' -------
'
' FirewallRuleAdd.vbs "[File]" "[ConnectionType]"


' -----------
' Parameters:
' -----------
'
' [File]
' This parameter indicates the file to block.
' The value should be the relative or absolute filepath of an existing file.
'
' [ConnectionType]
' This parameter indicates whether to add a rule to block inbound or outbound connections.
' The value should be "In" or "Out".


' ---------------
' Usage examples:
' ---------------
'
' FirewallRuleAdd.vbs "C:\Program.exe" IN
' FirewallRuleAdd.vbs "C:\Program.exe" OUT


' -----------
' Exit codes:
' -----------
'
' -1: Rule already exist.
'  0: Successful exit.
'  1: Missing arguments or too many arguments.
'  2: File not found.
'  3: Wrong value specified for parameter '[ConnectionType]'
'  4: Specific Error.


' *************
Option Explicit

Const MsgBoxSyntax   = "FirewallRuleAdd.vbs ""[File]"" ""[ConnectionType]"""
Const MsgBoxCaption  = "Firewall Rule Add"
Const MsgBoxErrorIco = 16
Const MsgBoxInfoIco  = 64
Const MsgBoxDebugIco = 48

Dim objFile        ' Indicates the File Object.
Dim Process        ' Indicates the process to run.
Dim Arguments      ' Indicates the process arguments.
Dim Result         ' Indicates the result (Exit Code) of the process.
Dim ConnectionType ' Indicates whether to block inbound or outbound connections.
Dim DebugMode      ' Indicates whether the debug mode is activated.


' Set the debug mode to 'True' if need to test the values.
DebugMode = False

' Argument error handling.
If Wscript.Arguments.Count = 0 Then

' Notify the error to the user.
MsgBox "Syntax:" & VBNewLine & _
       MsgBoxSyntax          , _
       MsgBoxErrorIco, MsgBoxCaption

' Exit with reason: 'Missing arguments' error-code.
Wscript.Quit(1)

ElseIf Wscript.Arguments.Count < 2 Then

' Notify the error to the user.
MsgBox "Missing arguments."  & _
       VBNewLine & VBNewLine & _
       "Syntax:" & VBNewLine & _
       MsgBoxSyntax          , _
       MsgBoxErrorIco, MsgBoxCaption

' Exit with reason: 'Missing arguments'.
Wscript.Quit(1)

ElseIf Wscript.Arguments.Count > 2 Then

' Notify the error to the user.
MsgBox "Too many arguments." & _
       VBNewLine & VBNewLine & _
       "Syntax:" & VBNewLine & _
       MsgBoxSyntax          , _
       MsgBoxErrorIco, MsgBoxCaption

' Exit with reason: 'Too many arguments'.
Wscript.Quit(1)

ElseIf Wscript.Arguments.Count = 2 Then

If LCase(Wscript.Arguments(1)) = LCase("IN") Then

' Set the ConnectionType to 'Inbound'
ConnectionType = "Inbound"

Elseif LCase(Wscript.Arguments(1)) = LCase("OUT") Then

' Set the ConnectionType to 'Outbound'
ConnectionType = "Outbound"

Else ' Wrong argument.

' Notify the error to the user.
MsgBox "Wrong value specified for parameter '[ConnectionType]'", _
       MsgBoxErrorIco, MsgBoxCaption

' Exit with reason: 'Wrong value specified for parameter '[ConnectionType]''.
Wscript.Quit(3)

End If

End If

On Error Resume Next

' Set the FileObject with the file passed through the first argument.
Set objFile = Createobject("Scripting.FileSystemObject"). _
              GetFile(Wscript.Arguments(0))

' File-Error handling.
If Err.Number = 53 Then

' Notify the error to the user.
MsgBox "File not found:"   & _
       vbnewline           & _
       Wscript.Arguments(0), _
       MsgBoxErrorIco, MsgBoxCaption

' Exit with reason: 'File not found'.
Wscript.Quit(2)

End If

' Set the firewall process.
Process   = "netsh.exe"

' Set the firewall rule parameters to add Inbound or Outbound blocking rule.
Arguments = "AdvFirewall Firewall Add Rule"       & _
            " Name=" & """" & objFile.Name & """" & _
            " Dir="  & Wscript.Arguments(1)       & _
            " Action=Block"                       & _
            " Program=" & """" & objFile.Path & """"

' Call the 'FirewallRuleCheck' script to retrieve their exit code;
' This way I determine whether the bloking rule already exist or not.
Result = WScript.CreateObject("WScript.Shell"). _
         Run("FirewallRuleCheck.vbs"    & " " & _
             """" & objFile.Path & """" & " " & _
             Wscript.Arguments(1)       & " " & _
             "True", 0, True)

If DebugMode Then

' Notify the debug information.
MsgBox "File: "            & objFile.Path   & vbnewline & vbnewline & _
       "ConnectionType: "  & ConnectionType & vbnewline & vbnewline & _
       "Process: "         & Process        & vbnewline & vbnewline & _
       "Arguments: "       & Arguments      & vbnewline & vbnewline & _
       "Reult: "           & Result         & vbnewline             , _
       MsgBoxDebugIco,     "Debug Info | "  & MsgBoxCaption

End If

' Error handling.
If Err.Number <> 0 Then

' Notify the error to the user.
MsgBox "Error Code: "   & Err.Number & vbnewline & _
       "Error Source: " & Err.Source & vbnewline & _
       "Description: "  & Err.Description        , _
       MsgBoxErrorIco, MsgBoxCaption

' Exit with reason: 'Specific error'.
Wscript.Quit(5)

End If

If Result = -1 Then ' Rule already exist.

' Notify the error to the user.
MsgBox ConnectionType & " connection blocking rule already exist for file:" & _
       vbnewline                                                            & _
       objFile.Name                                                         , _
       MsgBoxErrorIco, MsgBoxCaption

' Exit with reason: 'Rule already exist'.
Wscript.Quit(-1)

Else ' Rule added successfully.

WScript.CreateObject("WScript.Shell").Run Process & " " & Arguments, 0, True

' Notify the information to the user.
MsgBox ConnectionType & " connection blocking rule successfully added for file:" & _
       vbnewline                                                                 & _
       objFile.Name                                                              , _
       MsgBoxInfoIco, MsgBoxCaption

End If

' Exit successfully.
Wscript.Quit(0)







Y otro para eliminar reglas:

EDITO: Mejorado
Código (vb) [Seleccionar]
' *******************
' FirewallRuleDel.vbs
' *******************
' By Elektro


' ------------
' Description:
' ------------
'
' This Script deletes an existing firewall rule that is blocking the Inbound or Outbound connections of a file.
'
' NOTE: Possibly this script will not work under Windows XP where;
'       the Netsh syntax is different and maybe the Firewall registry values could be diferent too, I've doesn't tested it.
'       Tested on Windows 8.


' -------
' Syntax:
' -------
'
' FirewallRuleDel.vbs "[File]" "[ConnectionType]"


' -----------
' Parameters:
' -----------
'
' [File]
' This parameter indicates the file to block.
' The value should be the relative or absolute filepath of an existing file.
'
' [ConnectionType]
' This parameter indicates whether to delete the rule that is blocking inbound or outbound connections.
' The value should be "In" or "Out".


' ---------------
' Usage examples:
' ---------------
'
' FirewallRuleDel.vbs "C:\Program.exe" IN
' FirewallRuleDel.vbs "C:\Program.exe" OUT


' -----------
' Exit codes:
' -----------
'
' -1: Rule doesn't exist.
'  0: Successful exit.
'  1: Missing arguments or too many arguments.
'  2: File not found.
'  3: Wrong value specified for parameter '[ConnectionType]'
'  4: Specific Error.


' *************
Option Explicit

Const MsgBoxSyntax   = "FirewallRuleDel.vbs ""[File]"" ""[ConnectionType]"""
Const MsgBoxCaption  = "Firewall Rule Del"
Const MsgBoxErrorIco = 16
Const MsgBoxInfoIco  = 64
Const MsgBoxDebugIco = 48

Dim objFile        ' Indicates the File Object.
Dim Process        ' Indicates the process to run.
Dim Arguments      ' Indicates the process arguments.
Dim Result         ' Indicates the result (Exit Code) of the process.
Dim ConnectionType ' Indicates whether to unblock inbound or outbound connections.
Dim DebugMode      ' Indicates whether the debug mode is activated.


' Set the debug mode to 'True' if need to test the values.
DebugMode = False

' Argument error handling.
If Wscript.Arguments.Count = 0 Then

' Notify the error to the user.
MsgBox "Syntax:" & VBNewLine & _
       MsgBoxSyntax          , _
       MsgBoxErrorIco, MsgBoxCaption

' Exit with reason: 'Missing arguments' error-code.
Wscript.Quit(1)

ElseIf Wscript.Arguments.Count < 2 Then

' Notify the error to the user.
MsgBox "Missing arguments."  & _
       VBNewLine & VBNewLine & _
       "Syntax:" & VBNewLine & _
       MsgBoxSyntax          , _
       MsgBoxErrorIco, MsgBoxCaption

' Exit with reason: 'Missing arguments'.
Wscript.Quit(1)

ElseIf Wscript.Arguments.Count > 2 Then

' Notify the error to the user.
MsgBox "Too many arguments." & _
       VBNewLine & VBNewLine & _
       "Syntax:" & VBNewLine & _
       MsgBoxSyntax          , _
       MsgBoxErrorIco, MsgBoxCaption

' Exit with reason: 'Too many arguments'.
Wscript.Quit(1)

ElseIf Wscript.Arguments.Count = 2 Then

If LCase(Wscript.Arguments(1)) = LCase("IN") Then

' Set the ConnectionType to 'Inbound'
ConnectionType = "Inbound"

Elseif LCase(Wscript.Arguments(1)) = LCase("OUT") Then

' Set the ConnectionType to 'Outbound'
ConnectionType = "Outbound"

Else ' Wrong argument.

' Notify the error to the user.
MsgBox "Wrong value specified for parameter '[ConnectionType]'", _
   MsgBoxErrorIco, MsgBoxCaption

' Exit with reason: 'Wrong value specified for parameter '[ConnectionType]''.
Wscript.Quit(3)

End If

End If

On Error Resume Next

' Set the FileObject with the file passed through the first argument.
Set objFile = Createobject("Scripting.FileSystemObject"). _
              GetFile(Wscript.Arguments(0))

' File-Error handling.
If Err.Number = 53 Then

' Notify the error to the user.
MsgBox "File not found:"   & _
       vbnewline           & _
       Wscript.Arguments(0), _
       MsgBoxErrorIco, MsgBoxCaption

' Exit with reason: 'File not found'.
Wscript.Quit(2)

End If

' Set the firewall process.
Process   = "netsh.exe"

' Set the firewall rule parameters to delete Inbound or Outbound blocking rule.
Arguments = "AdvFirewall Firewall Delete Rule"    & _
            " Name=" & """" & objFile.Name & """" & _
            " Dir="  & Wscript.Arguments(1)

' Call the 'FirewallRuleCheck' script to retrieve their exit code;
' This way I determine whether the bloking rule is exist or not.
Result = WScript.CreateObject("WScript.Shell"). _
         Run("FirewallRuleCheck.vbs"    & " " & _
             """" & objFile.Path & """" & " " & _
             Wscript.Arguments(1)       & " " & _
             "True", 0, True)

If DebugMode Then

' Notify the debug information.
MsgBox "File: "            & objFile.Path   & vbnewline & vbnewline & _
       "ConnectionType: "  & ConnectionType & vbnewline & vbnewline & _
       "Process: "         & Process        & vbnewline & vbnewline & _
       "Arguments: "       & Arguments      & vbnewline & vbnewline & _
       "Reult: "           & Result         & vbnewline             , _
       MsgBoxDebugIco,     "Debug Info | "  & MsgBoxCaption

End If

' Error handling.
If Err.Number <> 0 Then

' Notify the error to the user.
MsgBox "Error Code: "   & Err.Number & vbnewline & _
       "Error Source: " & Err.Source & vbnewline & _
       "Description: "  & Err.Description        , _
       MsgBoxErrorIco, MsgBoxCaption

' Exit with reason: 'Specific error'.
Wscript.Quit(5)

End If

If Result = 0 Then ' Rule doesn't exist.

' Notify the error to the user.
MsgBox ConnectionType & " connection blocking rule doesn't exist for file:" & _
       vbnewline                                                            & _
       objFile.Name                                                         , _
       MsgBoxErrorIco, MsgBoxCaption

' Exit with reason: 'Rule doesn't exist'.
Wscript.Quit(-1)

Else ' Rule deleted successfully.

WScript.CreateObject("WScript.Shell").Run Process & " " & Arguments, 0, True

' Notify the information to the user.
MsgBox ConnectionType & " connection block rule successfully deleted for file:" & _
       vbnewline                                                                & _
       objFile.Name                                                             , _
       MsgBoxInfoIco, MsgBoxCaption

End If

' Exit successfully.
Wscript.Quit(0)
#589
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 (vbnet) [Seleccionar]
#Region " Imports "

Imports System.IO
Imports System.Runtime.InteropServices
Imports RefreshExplorer.NativeMethods

#End Region

''' <summary>
''' Initializes a new instance of Explorer process.
''' </summary>
Module RefreshExplorer

#Region " P/Invoke "

   ''' <summary>
   ''' Class NativeMethods.
   ''' </summary>
   Friend Class NativeMethods

       ''' <summary>
       ''' Retrieves a handle to the top-level window whose class name and window name match the specified strings.
       ''' This function does not search child windows.
       ''' This function does not perform a case-sensitive search.
       ''' </summary>
       ''' <param name="lpClassName">
       ''' The class name or a class atom created by a previous call to the
       ''' RegisterClass or RegisterClassEx function.
       ''' The atom must be in the low-order word of lpClassName;
       ''' the high-order word must be zero.
       ''' If lpClassName points to a string, it specifies the window class name.
       ''' The class name can be any name registered with RegisterClass or RegisterClassEx,
       ''' or any of the predefined control-class names.
       ''' If lpClassName is NULL, it finds any window whose title matches the lpWindowName parameter.
       ''' </param>
       ''' <param name="zero">
       ''' The window name (the window's title).
       ''' If this parameter is NULL, all window names match.</param>
       ''' <returns>IntPtr.</returns>
       <DllImport("user32.dll", EntryPoint:="FindWindow", SetLastError:=True, CharSet:=CharSet.Unicode)>
       Public Shared Function FindWindowByClass(
           ByVal lpClassName As String,
           ByVal zero As IntPtr
       ) As IntPtr
       End Function

   End Class

#End Region

#Region " ReadOnly Strings "

   ''' <summary>
   ''' Indicates the directory where the Explorer process is located.
   ''' </summary>
   Private ReadOnly ExplorerDirectory As String =
       Environment.GetFolderPath(Environment.SpecialFolder.Windows)

   ''' <summary>
   ''' Indicates the filename of the process.
   ''' </summary>
   Private ReadOnly ExplorerFilename As String = "Explorer.exe"

   ''' <summary>
   ''' Indicates the desk Taskbar Class-name.
   ''' </summary>
   Private ReadOnly TaskBarClassName As String = "Shell_TrayWnd"

#End Region

#Region " Process "

   ''' <summary>
   ''' The explorer process.
   ''' </summary>
   Dim Explorer As New Process With
   {
    .StartInfo = New ProcessStartInfo With
                 {
                  .FileName = Path.Combine(ExplorerDirectory, ExplorerFilename),
                  .WorkingDirectory = My.Application.Info.DirectoryPath,
                  .UseShellExecute = True
                 }
   }

#End Region

#Region " Main "

   ''' <summary>
   ''' Defines the entry point of the application.
   ''' </summary>
   Sub Main()

       Select Case Convert.ToBoolean(CInt(FindWindowByClass(TaskBarClassName, Nothing)))

           Case False ' The Taskbar is not found.

               Try
                   Explorer.Start()
                   Console.WriteLine("Windows Explorer has been re-initialized successfully")
                   Environment.Exit(0)

               Catch ex As Exception
                   Console.WriteLine(ex.Message)
                   Debug.WriteLine(ex.Message)
                   Environment.Exit(1)

               End Try

           Case True ' The Taskbar is found.
               Console.WriteLine("Can't proceed, Windows Explorer is currently running. Exiting...")
               Environment.Exit(2)

       End Select

   End Sub

#End Region

End Module
#590
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!
#591
DESCRIPCIÓN:

MP3 Tag Remover es una aplicación con una interfaz de usuario sencilla para eliminar metadatos de archivos mp3





IMÁGENES:










DEMOSTRACIÓN:

[youtube=720,480]http://www.youtube.com/watch?v=DM3y5LXZhkg[/youtube]






DESCARGA:

v1.1:
http://www.mediafire.com/download/h91571226ho3do9/MP3%20Tag%20Remover.rar

Incluye el código fuente, compilación, portable, e instalador.
#592
Desarrollo Web / Formatear documento HTML
21 Enero 2014, 04:07 AM
Hola

Estoy usando un website builder de tipo WYSIWYG, pero me crea un documento HTML complétamente sin indentación alguna, y como programador ...esto me resulta algo asqueroso e indecente:

Código (html4strict) [Seleccionar]
</style>
</head>
<body>
<div id="container">
<div id="wb_Shape1" style="position:absolute;left:519px;top:403px;width:281px;height:415px;text-align:left;z-index:4;">
<img src="images/img0001.png" id="Shape1" alt="" title="" style="border-width:0;width:281px;height:415px"></div>
<div id="wb_Shape2" style="position:absolute;left:535px;top:418px;width:249px;height:35px;text-align:left;z-index:5;">
<img src="images/img0002.png" id="Shape2" alt="" title="" style="border-width:0;width:249px;height:35px"></div>
<div id="wb_Image2" style="position:absolute;left:0px;top:129px;width:800px;height:264px;text-align:left;z-index:6;">
<img src="images/wwb_londonskyline.jpg" id="Image2" alt="" style="width:798px;height:262px;"></div>
<div id="wb_Shape4" style="position:absolute;left:0px;top:403px;width:519px;height:173px;text-align:left;z-index:7;">
<img src="images/img0003.png" id="Shape4" alt="" title="" style="border-width:0;width:519px;height:173px"></div>
<div id="wb_Text5" style="position:absolute;left:21px;top:425px;width:465px;height:92px;text-align:left;z-index:8;border:0px #C0C0C0 solid;overflow-y:hidden;background-color:transparent;">
<div style="font-family:Arial;font-size:13px;color:#000000;">
<div style="text-align:left"><span style="font-family:'Trebuchet MS';font-size:15px;color:#6CBE00;"><strong>Welcome to our website</strong></span></div>
<div style="text-align:left"><span style="font-family:'Trebuchet MS';font-size:12px;color:#CED1D6;">Lorem ipsum dolor sit amet, autem consectetuer adipiscing elit, sed diam </span></div>
<div style="text-align:left"><span style="font-family:'Trebuchet MS';font-size:12px;color:#CED1D6;">nonummy nibh euismod iusto tincidunt ut laoreet dolore magna aliquam erat </span></div>
<div style="text-align:left"><span style="font-family:'Trebuchet MS';font-size:12px;color:#CED1D6;">volutpat. Ut wisi enim ad minim veniam, quis nostrud facer exerci tation </span></div>
<div style="text-align:left"><span style="font-family:'Trebuchet MS';font-size:12px;color:#CED1D6;">ullamcorper suscipit lobortis nisl ut aliquip ex ea delenit commodo consequat.</span></div>
</div>
</div>


No hay por donde cojer el código, no se puede trabajar así.

Al igual que existen ciertos programas para formatear un documento XML (para indentarlo y colocarlo todo en su sitio siguiendo las buenas prácticas de programación) como también existen formateadores online, yo busco alguno que sea capaz de formatear un documento HTML para obtener un resultado decente y organizado como esto:

( además de los tags, nótese también la indentación y saltos de linea en los atributos )

Código (html4strict) [Seleccionar]
<body>

<div id="container">

<div id="wb_Shape1"
    style="position:absolute;left:519px;top:403px;width:281px;height:415px;text-align:left;z-index:4;">

<img src="images/img0001.png"
    id="Shape1"
    alt=""
    title=""
    style="border-width:0;width:281px;height:4150px">
</div>

<div style="text-align:left">

<span style="font-family:'Trebuchet MS';font-size:11px;color:#7B7E83;">
erat volutpat.
</span>

</div>

</body>


El problema es que hay muchos softwares distintos y estoy seguro de que algunos de estos programas se deben tomar más en serio el formato del código que otros programas... por ese motivo acudo a ustedes, para no malgastar el tiempo comparando decenas de programas hasta encontrar uno que merezca la pena... ya que ustedes tienen la experiencia que yo no tengo para recomendarme un formateador de documentos HTML que se adapte a mis necesidades.

Gracias por leer!
#594





¿Qué es Color.Net?






Color.Net es una sencilla herramienta para para obtener la información del color del pixel actual sobre en pantalla.

Color.Net está enfocado para programadores, pudiendo representar los valores ARGB en distintos lenguajes y formatos con un solo click !!.





Características






  • Representación del color en formatos ARGB, RGB, Hex, Web, Win32, HSL, Delphi, C# (Int), C# (Hex), C# (Web), Vb.Net (Int), Vb.Net (Hex), Vb.Net (Web), Visual Studio (Int), y Visual Studio (Hex).
  • Magnificador de imagen (o lupa)
  • Panel desplegable con selector de color.
  • Atajos del teclado para copiar el formato al portapapeles sin perder el tiempo, o detenerse en un pixel en concreto.
  • Vista previa de la aplicación de un color sobre distintos controles.





Imágenes












DESCARGA (v2.2)




Compilación e Instalador

Código fuente






SI TE HA GUSTADO MI APORTE, ¡COMENTA! :)




#595
VISUAL STUDIO 2013 ELEKTRO ULTIMATE PACK




¿Que es esto?...

...Pues ni más ni menos que un instalador personalizado (por mi) que contiene todo lo necesario para una instalación de VisualStudio 2013 Ultimate de forma offline (*),
además el instalador contiene un montón de extras como por ejemplo plantillas de proyectos y plantillas de elementos, extensiones para la IDE, códigos de Snippets, librerías y controles de usuario junto a sus códigos fuente, y una actualización (online) al idioma Español.

(*) La ISO original de VS2013 Ultimate pesa alrededor de 3GB y contiene todos los paquetes offline necesarios para programar con Metro Blend, SQL, C/C++, Windows Phone, etc... esto es un derroche de tamaño y por ese motivo mi instalador solo contiene los paquetes offline esenciales para programar en un entorno básico, que son las casillas marcadas por defecto en mi instalador y no requiere conexión a Internet, pero si desean marcar más casillas para instalar otras características como por ejemplo "Blend" entonces cualquier paquete adicional necesario será descargado de forma automática en la operación de instalación, no hay de que preocuparse por eso.

Notas de instalación:

· Según Microsoft: VisualStudio 2013 es INCOMPATIBLE con Windows XP y Vista.

· No es necesario desinstalar versiones antiguas de Microsoft Visual Studio.

· Mi instalador ha pasado la prueba con éxito al instalar múltiples configuraciones en Windows 7 x64, Windows 8 x64, y Windows 8.1 x64, no lo he probado en ninguna versión x86 de Windows pero debería instalarse corréctamente.

· Si instalan controles desde mi instalador entonces no inicien VisualStudio hasta que los controles de usuario se hayan terminado de instalar, la razón es que el instalador de controles necesita que VisualStudio esté cerrado para una instalación correcta del control de usuario.

· Si tuviesen cualquier error con la instalación (no debería porque, pero si tuvieran alguno) comuníquenlo respondiendo a este post, porfavor no me pregunten por mensaje privado.






Imágenes:

   

   

   








Contenido del instalador:


  • Características opcionales de VisualStudio 2013 Ultimate:

    Blend
    Microsoft Foundation Classes for C++
    Microsoft LightSwitch
    Description: Microsoft Office Developer Tools
    Microsoft SQL Server Data Tools
    Description: Microsoft Web Developer Tools
    SilverLight Developer Kit
    Tools For Maintaining Store Apps For Windows 8
    Windows Phone 8.0 SDK


  • Características opcionales ocultas de VisualStudio 2013 Ultimate:

    .NET FX 4
    .NET FX 4.5
    Bliss
    Microsoft Help Viewer 2.0
    Microsoft Portable Library Multi-Targeting Pack
    Microsoft Report Viewer Add-On for Visual Studio 2013
    Microsoft Silverlight 5 SDK
    Microsoft SQL DAC
    Microsoft SQL DOM
    Microsoft SQL Server 2013 Express LocalDB
    Microsoft SQL Server 2013 Management Objects
    Microsoft SQL Server 2013 System CLR Types
    Microsoft SQL Server 2013 Transact-SQL
    Microsoft SQL Server Compact Edition
    Microsoft Visual C++ 2013 Compilers
    Microsoft Visual C++ 2013 Core Libraries
    Microsoft Visual C++ 2013 Debug Runtime
    Microsoft Visual C++ 2013 Designtime
    Microsoft Visual C++ 2013 Extended Libraries
    Microsoft Visual Studio 2013 IntelliTrace
    Microsoft Visual Studio Team Foundation Server 2013 Storyboarding
    SDK Tools 3
    SDK Tools 4
    Visual Studio Analytics
    Visual Studio Dotfuscator
    Visual Studio Extensions for Windows Library for javascript
    Visual Studio Profiler
    Windows Software Development Kit


  • Idiomas adicionales:

    Español


  • Extensiones para la IDE:

    GhostDoc ( Versión Free )
    Image Optimizer
    Middle Click To Definition
    Productivity Power Tools
    RapidDesign ( Craqueado por UND3R )
    Reference Assistant
    Regular expression Tester
    Text Highlighter
    Trout Zoom
    Visual Studio Restart
    XAML Regions
    Xaml Styler


  • Librerías para programadores:

    BoxedApp Packer
    ColorCode
    CoreConverter
    DiffLib
    DotNetZip
    EA SendMail
    FFMPEG
    Framework Detection
    FreeImage
    Ftp Client
    HTML Agility Pack
    IlMerge
    iTextsharp
    Json.NET
    MediaInfo
    mp3gain
    mp3val
    NAudio
    NReplay Gain
    OS VersionInfo
    ResHacker
    SevenZip sharp
    Skype4com
    TagLib Sharp
    Thresher IRC
    Typed Units
    Ultra ID3 Lib
    Vista CoreAudio Api
    WinAmp Control Class


  • Controles de usuario para WindowsForms (Toolkits):

    Cloud Toolkit
    DotNetBar
    Krypton
    ObjectListView
    Ookii Dialogs
    Windows API Code Pack


  • Controles de usuario para WindowsForms (Standalone):


    [ Elektro Controles ] ~> Elektro ColorDialog
    [ Elektro Controles ] ~> Elektro ListBox
    [ Elektro Controles ] ~> Elektro ListView
    [ Elektro Controles ] ~> Elektro Panel

    [ Buttons       ] ~> CButton
    [ Buttons       ] ~> Pulse Button
    [ CheckBoxes    ] ~> Dont Show Again Checkbox
    [ GroupBoxes    ] ~> Grouper
    [ Knobs         ] ~> Knob
    [ Knobs         ] ~> Knob Control
    [ Labels        ] ~> Border Label
    [ Labels        ] ~> DotMatrix Label
    [ Labels        ] ~> gLabel
    [ Labels        ] ~> RichText Label
    [ Labels        ] ~> SevenSegment LED
    [ Menus         ] ~> Customizable Strips
    [ Menus         ] ~> Custom ToolStrip
    [ Miscellaneous ] ~> Awesome Shape Control
    [ Miscellaneous ] ~> Digital Display Control
    [ Miscellaneous ] ~> Drive ComboBox
    [ Miscellaneous ] ~> Extended ErrorProvider
    [ Miscellaneous ] ~> gCursor
    [ Miscellaneous ] ~> Html Renderer
    [ Miscellaneous ] ~> Led Bulb
    [ Miscellaneous ] ~> Shaper Rater
    [ Miscellaneous ] ~> Star Rate
    [ Panels        ] ~> Extended DotNET Panel
    [ Panels        ] ~> gGlowBox
    [ Panels        ] ~> Outlook PanelEx
    [ ProgressBars  ] ~> Amazing ProgressBar
    [ ProgressBars  ] ~> Extended DotNET ProgressBar
    [ ProgressBars  ] ~> Loading Circle
    [ ProgressBars  ] ~> NeroBar
    [ ProgressBars  ] ~> ProgBarPlus
    [ ProgressBars  ] ~> ProgressBar GoogleChrome
    [ ProgressBars  ] ~> Progress Indicator
    [ RichTextBoxes ] ~> Fast Colored TextBox
    [ TimePickers   ] ~> gTime Picker Control
    [ Tooltips      ] ~> Notification Window
    [ TrackBars     ] ~> gTrack Bar
    [ TreeViews     ] ~> ExpTreeLib
    [ WebBrowsers   ] ~> Gecko FX


  • Controles de usuario para Windows Presentation Foundation (Toolkits):

    Ookii Dialogs


  • Controles de usuario para Windows Presentation Foundation (Standalone):

    [ WebBrowsers ] ~> Gecko FX


  • Menú navegable de snippets para VB.NET:

    [ Application      ] ~> Create Exception
    [ Application      ] ~> Get Class name
    [ Application      ] ~> Get Current APP Name
    [ Application      ] ~> Get Current APP Path
    [ Application      ] ~> Get Type name
    [ Application      ] ~> Get User Config Path
    [ Application      ] ~> Global Hotkeys
    [ Application      ] ~> Hotkeys
    [ Application      ] ~> Ignore Exceptions
    [ Application      ] ~> Is First Run
    [ Application      ] ~> Load Resource To Disk
    [ Application      ] ~> My Application Is Already Running
    [ Application      ] ~> Restrict application startup if gives condition
    [ Application      ] ~> Set Current Thread Priority
    [ Application      ] ~> SetControlDoubleBuffered
    [ Application      ] ~> Trial Expiration
    [ Application      ] ~> WndProc Example from secondary Class
    [ Application      ] ~> WndProc Example
    [ Audio            ] ~> MCI Player
    [ Audio            ] ~> Mute Application
    [ Audio            ] ~> Play WAV
    [ Audio            ] ~> Rec Sound
    [ Audio            ] ~> Stop sound
    [ Colors           ] ~> Color To Hex
    [ Colors           ] ~> Color To HTML
    [ Colors           ] ~> Color To Pen
    [ Colors           ] ~> Color To RGB
    [ Colors           ] ~> Color To SolidBrush
    [ Colors           ] ~> Get Pixel Color
    [ Colors           ] ~> Get Random QB Color
    [ Colors           ] ~> Get Random RGB Color
    [ Colors           ] ~> HTML To HEX
    [ Colors           ] ~> HTML To RGB
    [ Colors           ] ~> Image Has Color
    [ Colors           ] ~> Pen To Color
    [ Colors           ] ~> RGB To HEX
    [ Colors           ] ~> RGB To HTML
    [ Colors           ] ~> SolidBrush To Color
    [ Console          ] ~> App Is Launched From CMD
    [ Console          ] ~> Arguments Are Empty
    [ Console          ] ~> Attach console to a WinForm
    [ Console          ] ~> Console Menu
    [ Console          ] ~> Console WindowState
    [ Console          ] ~> Help Section
    [ Console          ] ~> Join Arguments
    [ Console          ] ~> Matrix Effect
    [ Console          ] ~> Parse arguments
    [ Console          ] ~> Set CommandLine Arguments
    [ Console          ] ~> Write Colored Text
    [ Console          ] ~> Write to console on a WinForm
    [ Controls         ] ~> [ColorDialog] Example
    [ Controls         ] ~> [ContextMenuStrip] Clear All ListView Items
    [ Controls         ] ~> [ContextMenuStrip] Clear Text
    [ Controls         ] ~> [ContextMenuStrip] Copy All Text
    [ Controls         ] ~> [ContextMenuStrip] Copy Selected Text
    [ Controls         ] ~> [ContextMenuStrip] Cut Text
    [ Controls         ] ~> [ContextMenuStrip] Delete Text
    [ Controls         ] ~> [ContextMenuStrip] New ContextMenuStrip
    [ Controls         ] ~> [ContextMenuStrip] Paste Text
    [ Controls         ] ~> [ContextMenuStrip] Remove ListView Item
    [ Controls         ] ~> [ContextMenuStrip] Restore or Hide from Systray
    [ Controls         ] ~> [LinkLabel] New LinkLabel
    [ Controls         ] ~> [ListBox] Colorize Items
    [ Controls         ] ~> [ListBox] Make an Horizontal ListBox
    [ Controls         ] ~> [ListBox] Remove Duplicates
    [ Controls         ] ~> [ListBox] Select item without jump
    [ Controls         ] ~> [ListView] Auto Scroll
    [ Controls         ] ~> [ListView] Auto-Disable ContextMenu
    [ Controls         ] ~> [ListView] Backup and Recover Listview Items
    [ Controls         ] ~> [ListView] Clear Selected Items
    [ Controls         ] ~> [ListView] Copy All-Items To Clipboard
    [ Controls         ] ~> [ListView] Copy Item To Clipboard
    [ Controls         ] ~> [ListView] Copy Selected-Items To Clipboard
    [ Controls         ] ~> [ListView] Draw ProgressBar
    [ Controls         ] ~> [ListView] Find ListView Text
    [ Controls         ] ~> [ListView] ItemChecked Event
    [ Controls         ] ~> [ListView] ReIndex Column
    [ Controls         ] ~> [ListView] Restrict column resizing
    [ Controls         ] ~> [ListView] Sort Column
    [ Controls         ] ~> [MessageBox] Centered MessageBox
    [ Controls         ] ~> [MessageBox] Question Cancel operation
    [ Controls         ] ~> [MessageBox] Question Exit application
    [ Controls         ] ~> [OpenFileDialog] New dialog
    [ Controls         ] ~> [RichTextBox] Add Colored Text
    [ Controls         ] ~> [RichTextBox] Auto Scroll
    [ Controls         ] ~> [RichTextBox] Copy All Text
    [ Controls         ] ~> [RichTextBox] FindNext RegEx
    [ Controls         ] ~> [RichTextBox] FindNext String
    [ Controls         ] ~> [RichTextBox] Get RichTextBox Cursor Position
    [ Controls         ] ~> [RichTextBox] Highlight RegEx In RichTextBox
    [ Controls         ] ~> [RichTextBox] Link clicked
    [ Controls         ] ~> [RichTextBox] Load TextFile in RichTextbox
    [ Controls         ] ~> [RichTextBox] Select full row
    [ Controls         ] ~> [RichTextBox] Toggle ContextMenu
    [ Controls         ] ~> [SaveFileDialog] New dialog
    [ Controls         ] ~> [Textbox] Allow only 1 Character
    [ Controls         ] ~> [Textbox] Allow only letters and numbers
    [ Controls         ] ~> [Textbox] Allow only letters
    [ Controls         ] ~> [Textbox] Allow only numbers
    [ Controls         ] ~> [TextBox] Capture Windows ContextMenu Option
    [ Controls         ] ~> [Textbox] Drag-Drop a file
    [ Controls         ] ~> [Textbox] Drag-Drop a folder
    [ Controls         ] ~> [Textbox] Password asterisks
    [ Controls         ] ~> [Textbox] Refresh Textbox Text
    [ Controls         ] ~> [Textbox] Show end part of text
    [ Controls         ] ~> [Textbox] Wait for ENTER key
    [ Controls         ] ~> [ToolStripProgressBar] Customize
    [ Controls         ] ~> [WebBrowser] Block iFrames
    [ Controls         ] ~> [WebBrowser] Block popups
    [ Controls         ] ~> [WebBrowser] Click event
    [ Controls         ] ~> [WebBrowser] Fill Web Form Example
    [ Controls         ] ~> [WebBrowser] Navigate And Wait
    [ Controls         ] ~> [WebBrowser] Set IExplorer Rendering Mode
    [ Controls         ] ~> [Windows Media Player] Examples
    [ Cryptography     ] ~> AES Decrypt
    [ Cryptography     ] ~> AES Encrypt
    [ Cryptography     ] ~> Base64 To String
    [ Cryptography     ] ~> Encrypt-Decrypt String Selective
    [ Cryptography     ] ~> Encrypt-Decrypt String
    [ Cryptography     ] ~> String To Base64
    [ Custom Controls  ] ~> [Cbutton] Change Cbutton Colors
    [ Custom Controls  ] ~> [ColorDialog_RealTime] Example
    [ Custom Controls  ] ~> [ComboBoxTooltip] Show tooltip when text exceeds ComboBox width
    [ Custom Controls  ] ~> [Elektro ListView] Customize Item On Item Selection Changed
    [ Custom Controls  ] ~> [Elektro ListView] Monitor Item added-removed
    [ Custom Controls  ] ~> [Elektro ListView] Undo-Redo Manager
    [ Custom Controls  ] ~> [FastColoredTextBox] Scroll Text
    [ Custom Controls  ] ~> [GeckoFX] Examples
    [ Custom Controls  ] ~> [GeckoFX] Fill Web Form Example
    [ Custom Controls  ] ~> [GeckoFX] Navigate And Wait
    [ Custom Controls  ] ~> [GeckoFX] Remove All Cookies
    [ Custom Controls  ] ~> [GeckoFX] Set Navigator Preferences
    [ Custom Controls  ] ~> [GTrackBar] Progressive Scroll MultiTrackbars
    [ Custom Controls  ] ~> [GTrackBar] Progressive Scroll
    [ Custom Controls  ] ~> [Ooki VistaFolderBrowserDialog] New dialog
    [ Custom Controls  ] ~> [PopCursor] Class
    [ Custom Controls  ] ~> [PopCursor] Example
    [ Custom Controls  ] ~> [RichTextBoxEx] Insert FileLink
    [ Custom Controls  ] ~> [Windows API Code Pack] Helper
    [ Custom Controls  ] ~> [WindowsAPICodePack] [CommonOpenFileDialog] - New dialog
    [ Custom Libraries ] ~> [BoxedAppPacker] Helper
    [ Custom Libraries ] ~> [ColorCode] Color Code
    [ Custom Libraries ] ~> [CoreConverter] Helper
    [ Custom Libraries ] ~> [DiffLib] Examples
    [ Custom Libraries ] ~> [DotNetZip] Compress SFX
    [ Custom Libraries ] ~> [DotNetZip] Compress
    [ Custom Libraries ] ~> [DotNetZip] Extract
    [ Custom Libraries ] ~> [DotNetZip] Helper
    [ Custom Libraries ] ~> [EASendMail] Helper
    [ Custom Libraries ] ~> [FFMPEG] Helper
    [ Custom Libraries ] ~> [Framework Detection] Examples
    [ Custom Libraries ] ~> [FreeImage] Helper
    [ Custom Libraries ] ~> [FTPClient] Helper
    [ Custom Libraries ] ~> [HtmlAgilityPack] Example
    [ Custom Libraries ] ~> [IlMerge] Helper
    [ Custom Libraries ] ~> [MediaInfo] Helper
    [ Custom Libraries ] ~> [mp3gain] Helper
    [ Custom Libraries ] ~> [mp3val] Helper
    [ Custom Libraries ] ~> [NAudio] NAudio Helper
    [ Custom Libraries ] ~> [OSVersionInfo] Examples
    [ Custom Libraries ] ~> [ResHacker] Helper
    [ Custom Libraries ] ~> [SETACL] Helper
    [ Custom Libraries ] ~> [SevenZipSharp] Compress SFX
    [ Custom Libraries ] ~> [SevenZipSharp] Compress
    [ Custom Libraries ] ~> [SevenZipSharp] Extract
    [ Custom Libraries ] ~> [SevenZipSharp] FileInfo
    [ Custom Libraries ] ~> [SevenZipSharp] Helper
    [ Custom Libraries ] ~> [TagLib Sharp] Helper
    [ Custom Libraries ] ~> [Thresher IRC] Examples
    [ Custom Libraries ] ~> [TypedUnits] Examples
    [ Custom Libraries ] ~> [UltraID3Lib] Helper
    [ Custom Libraries ] ~> [VistaCoreAudioAPI] Fade Master Volume
    [ Custom Libraries ] ~> [VistaCoreAudioAPI] Get Master Volume
    [ Custom Libraries ] ~> [VistaCoreAudioAPI] Mute Master Volume
    [ Custom Libraries ] ~> [VistaCoreAudioAPI] Set Master Volume
    [ Custom Libraries ] ~> [WinAmp Control Class] Examples
    [ Custom Libraries ] ~> [WinAmp Control Class] [CLASS]
    [ Date and Time    ] ~> Convert Time
    [ Date and Time    ] ~> Date Difference
    [ Date and Time    ] ~> DateTime To Unix
    [ Date and Time    ] ~> Format Time
    [ Date and Time    ] ~> Get Local Date
    [ Date and Time    ] ~> Get Local Day
    [ Date and Time    ] ~> Get Local Time
    [ Date and Time    ] ~> Get Today Date
    [ Date and Time    ] ~> Unix To DateTime
    [ Date and Time    ] ~> Validate Date
    [ Files            ] ~> Can Access To File
    [ Files            ] ~> Can Access To Folder
    [ Files            ] ~> Compare Files
    [ Files            ] ~> Copy File With Cancel
    [ Files            ] ~> Copy File
    [ Files            ] ~> Delete File
    [ Files            ] ~> Directory Exist
    [ Files            ] ~> File Add Attribute
    [ Files            ] ~> File Exist
    [ Files            ] ~> File Have Attribute
    [ Files            ] ~> File Remove Attribute
    [ Files            ] ~> Get Directory Size
    [ Files            ] ~> Get Files
    [ Files            ] ~> InfoDir
    [ Files            ] ~> InfoFile
    [ Files            ] ~> Make Dir
    [ Files            ] ~> Move File
    [ Files            ] ~> Open In Explorer
    [ Files            ] ~> Open With
    [ Files            ] ~> Preserve FileDate
    [ Files            ] ~> Rename File
    [ Files            ] ~> Rename Files (Increment method)
    [ Files            ] ~> Send file to Recycle Bin
    [ Files            ] ~> Set File Access
    [ Files            ] ~> Set File Attributes
    [ Files            ] ~> Set Folder Access
    [ Files            ] ~> Shortcut Manager (.lnk)
    [ Files            ] ~> Split File
    [ Fonts            ] ~> Change font
    [ Fonts            ] ~> Font Is Installed
    [ Fonts            ] ~> Get Installed Fonts
    [ Fonts            ] ~> Use Custom Text-Font
    [ GUI              ] ~> Add controls in real-time
    [ GUI              ] ~> Animate Window
    [ GUI              ] ~> Append text to control
    [ GUI              ] ~> Capture Windows ContextMenu Edit Options
    [ GUI              ] ~> Center Form To Desktop
    [ GUI              ] ~> Center Form To Form
    [ GUI              ] ~> Change Form Icon
    [ GUI              ] ~> Change Language
    [ GUI              ] ~> Click a control to move it
    [ GUI              ] ~> Control Iterator
    [ GUI              ] ~> Control Without Flickering
    [ GUI              ] ~> Detect mouse click button
    [ GUI              ] ~> Detect mouse wheel direction
    [ GUI              ] ~> Disable ALT+F4 Combination
    [ GUI              ] ~> Enable-Disable Drawing on Control
    [ GUI              ] ~> Extend Non Client Area
    [ GUI              ] ~> Fade IN-OUT
    [ GUI              ] ~> Form Docking
    [ GUI              ] ~> Form Resize Disabler
    [ GUI              ] ~> FullScreen
    [ GUI              ] ~> Get Non-Client Area Width
    [ GUI              ] ~> Lock Form Position
    [ GUI              ] ~> Minimize to systray
    [ GUI              ] ~> Mouse-Click Counter
    [ GUI              ] ~> Move Control Scrollbar
    [ GUI              ] ~> Move Control
    [ GUI              ] ~> Move Form
    [ GUI              ] ~> Round Borders
    [ GUI              ] ~> Secondary Form Docking
    [ GUI              ] ~> Select all checkboxes
    [ GUI              ] ~> Set Control Border Color
    [ GUI              ] ~> Set Control Hint [API]
    [ GUI              ] ~> Set Control Hint
    [ GUI              ] ~> Set Global Hotkeys using ComboBoxes
    [ GUI              ] ~> Set opacity when moving the form from the TitleBar
    [ GUI              ] ~> SystemMenu Manager
    [ GUI              ] ~> Toogle FullScreen
    [ GUI              ] ~> Undo-Redo
    [ Hardware         ] ~> Get Connected Drives
    [ Hardware         ] ~> Get CPU ID
    [ Hardware         ] ~> Get Drives Info
    [ Hardware         ] ~> Get Free Disk Space
    [ Hardware         ] ~> Get Motherboard ID
    [ Hardware         ] ~> Get Printers
    [ Hardware         ] ~> Monitorize Drives
    [ Hashes           ] ~> Get CRC32
    [ Hashes           ] ~> Get MD5 Of File
    [ Hashes           ] ~> Get MD5 Of String
    [ Hashes           ] ~> Get SHA1 Of File
    [ Hashes           ] ~> Get SHA1 Of String
    [ Image            ] ~> Desktop ScreenShot
    [ Image            ] ~> Drag-Drop a image
    [ Image            ] ~> Extract Icon
    [ Image            ] ~> Fill Bitmap Color
    [ Image            ] ~> For each Image in My.Resources
    [ Image            ] ~> Form ScreenShot
    [ Image            ] ~> Get Image HBitmap
    [ Image            ] ~> Get Image Sector
    [ Image            ] ~> GrayScale Image
    [ Image            ] ~> Resize Image Resource
    [ Image            ] ~> Resize Image
    [ Image            ] ~> Save ImageFile
    [ Image            ] ~> Scale Image
    [ Miscellaneous    ] ~> Add Application To Startup
    [ Miscellaneous    ] ~> Add Item Array 2D
    [ Miscellaneous    ] ~> Array ToLowerCase
    [ Miscellaneous    ] ~> Array ToUpperCase
    [ Miscellaneous    ] ~> BubbleSort Array
    [ Miscellaneous    ] ~> BubbleSort IEnumerable(Of String)
    [ Miscellaneous    ] ~> BubbleSort List(Of DirectoryInfo)
    [ Miscellaneous    ] ~> BubbleSort List(Of FileInfo)
    [ Miscellaneous    ] ~> BubbleSort List(Of String)
    [ Miscellaneous    ] ~> Calculate Percentage
    [ Miscellaneous    ] ~> Captcha Generator
    [ Miscellaneous    ] ~> Caret Class
    [ Miscellaneous    ] ~> Code Execution Time
    [ Miscellaneous    ] ~> Contacts Database
    [ Miscellaneous    ] ~> Convert Bytes
    [ Miscellaneous    ] ~> Convert To Disc Size
    [ Miscellaneous    ] ~> Count Array Matches
    [ Miscellaneous    ] ~> Detect Virtual Machine
    [ Miscellaneous    ] ~> Dictionary Has Key
    [ Miscellaneous    ] ~> Dictionary Has Value
    [ Miscellaneous    ] ~> Enum Parser
    [ Miscellaneous    ] ~> FileSize Converter
    [ Miscellaneous    ] ~> Find Dictionary Key By Value
    [ Miscellaneous    ] ~> Find Dictionary Value By Key
    [ Miscellaneous    ] ~> Format Number
    [ Miscellaneous    ] ~> FrameWork Compiler
    [ Miscellaneous    ] ~> Get Enum Name
    [ Miscellaneous    ] ~> Get Enum Value
    [ Miscellaneous    ] ~> Get Enum Values
    [ Miscellaneous    ] ~> Get FrameWork Of File
    [ Miscellaneous    ] ~> Get HiWord
    [ Miscellaneous    ] ~> Get LoWord
    [ Miscellaneous    ] ~> Get Nearest Enum Value
    [ Miscellaneous    ] ~> Get Random Number
    [ Miscellaneous    ] ~> Get Random Password
    [ Miscellaneous    ] ~> Get the calling Form
    [ Miscellaneous    ] ~> Hex to Byte-Array
    [ Miscellaneous    ] ~> Hex To Win32Hex
    [ Miscellaneous    ] ~> Hide method from Intellisense.
    [ Miscellaneous    ] ~> Hosts Helper
    [ Miscellaneous    ] ~> INI File Manager
    [ Miscellaneous    ] ~> Integer to Win32Hex
    [ Miscellaneous    ] ~> Is Registry File
    [ Miscellaneous    ] ~> Join Array
    [ Miscellaneous    ] ~> Join Lists
    [ Miscellaneous    ] ~> KeyLogger
    [ Miscellaneous    ] ~> Make Dummy File
    [ Miscellaneous    ] ~> Match Dictionary Keys
    [ Miscellaneous    ] ~> Match Dictionary Values
    [ Miscellaneous    ] ~> Minimize VS IDE when APP is in execution
    [ Miscellaneous    ] ~> Money Abbreviation
    [ Miscellaneous    ] ~> Number Is Divisible
    [ Miscellaneous    ] ~> Number Is In Range
    [ Miscellaneous    ] ~> Number Is Multiple
    [ Miscellaneous    ] ~> Number Is Negavite
    [ Miscellaneous    ] ~> Number Is Positive
    [ Miscellaneous    ] ~> Number Is Prime
    [ Miscellaneous    ] ~> Randomize Array
    [ Miscellaneous    ] ~> Randomize String Array
    [ Miscellaneous    ] ~> Record Mouse
    [ Miscellaneous    ] ~> Reg2Bat
    [ Miscellaneous    ] ~> Remove Array Duplicates
    [ Miscellaneous    ] ~> Remove Array Matches
    [ Miscellaneous    ] ~> Remove Array Unique Values
    [ Miscellaneous    ] ~> Remove Item From Array
    [ Miscellaneous    ] ~> Remove List Duplicates
    [ Miscellaneous    ] ~> Reverse RegEx MatchCollection
    [ Miscellaneous    ] ~> Reverse Stack
    [ Miscellaneous    ] ~> Round Bytes
    [ Miscellaneous    ] ~> Scrollbar Info
    [ Miscellaneous    ] ~> SizeOf
    [ Miscellaneous    ] ~> Sleep
    [ Miscellaneous    ] ~> Take Percentage
    [ Miscellaneous    ] ~> Telecommunication Bitrate To DataStorage Bitrate
    [ Miscellaneous    ] ~> Time Elapsed
    [ Miscellaneous    ] ~> Time Remaining
    [ Miscellaneous    ] ~> Win32Hex To Integer
    [ Miscellaneous    ] ~> WinAmp Info
    [ Multi-Threading  ] ~> BeginInvoke Control
    [ Multi-Threading  ] ~> Delegate Example
    [ Multi-Threading  ] ~> Invoke Control
    [ Multi-Threading  ] ~> Invoke Lambda
    [ Multi-Threading  ] ~> New BackgroundWorker
    [ Multi-Threading  ] ~> New Thread
    [ Multi-Threading  ] ~> Raise Events Cross-Thread
    [ Multi-Threading  ] ~> Task Example
    [ Multi-Threading  ] ~> ThreadStart Lambda
    [ OS               ] ~> Add User Account
    [ OS               ] ~> Associate File Extension
    [ OS               ] ~> Empty Recycle Bin
    [ OS               ] ~> Environment Variables Helper
    [ OS               ] ~> Get Current Aero Theme
    [ OS               ] ~> Get Cursor Pos
    [ OS               ] ~> Get IExplorer Version
    [ OS               ] ~> Get NT Version
    [ OS               ] ~> Get OS Architecture
    [ OS               ] ~> Get OS Edition
    [ OS               ] ~> Get OS Version
    [ OS               ] ~> Get Screen Resolution
    [ OS               ] ~> Get Service Status
    [ OS               ] ~> Get TempDir
    [ OS               ] ~> Get UserName
    [ OS               ] ~> Is Aero Enabled
    [ OS               ] ~> Mouse Click
    [ OS               ] ~> Move Mouse
    [ OS               ] ~> RegEdit
    [ OS               ] ~> Set Aero Theme
    [ OS               ] ~> Set Cursor Pos
    [ OS               ] ~> Set Desktop Wallpaper
    [ OS               ] ~> Set PC State
    [ OS               ] ~> Set Service Status
    [ OS               ] ~> Set System Cursor
    [ OS               ] ~> SID To ProfilePath
    [ OS               ] ~> SID To Username
    [ OS               ] ~> System Notifier
    [ OS               ] ~> Taskbar Hide-Show
    [ OS               ] ~> User Is Admin
    [ OS               ] ~> Username To ProfilePath
    [ OS               ] ~> Username To SID
    [ OS               ] ~> Validate Windows FileName
    [ Process          ] ~> App Activate
    [ Process          ] ~> Block Process
    [ Process          ] ~> Close Process
    [ Process          ] ~> Flush Memory
    [ Process          ] ~> Get Process Handle
    [ Process          ] ~> Get Process Main Window Handle
    [ Process          ] ~> Get Process PID
    [ Process          ] ~> Get Process Window Title
    [ Process          ] ~> Hide Process From TaskManager
    [ Process          ] ~> Hide-Restore Process
    [ Process          ] ~> Kill Process By Name
    [ Process          ] ~> Kill Process By PID
    [ Process          ] ~> Move Process Window
    [ Process          ] ~> Pause-Resume Thread
    [ Process          ] ~> Process is running
    [ Process          ] ~> Process.Start
    [ Process          ] ~> Resize Process Window
    [ Process          ] ~> Run Process
    [ Process          ] ~> SendText To App
    [ Process          ] ~> Set Process Priority By Handle
    [ Process          ] ~> Set Process Priority By Name
    [ Process          ] ~> Shift Process Window Position
    [ Process          ] ~> Shift Process Window Size
    [ Process          ] ~> Wait For Application To Load
    [ String           ] ~> Binary To String
    [ String           ] ~> Byte To Character
    [ String           ] ~> Byte-Array To String
    [ String           ] ~> Character To Byte
    [ String           ] ~> Count Character In String
    [ String           ] ~> Delimit String
    [ String           ] ~> Expand Environment Variables Of String
    [ String           ] ~> Filename Has Non ASCII Characters
    [ String           ] ~> Find RegEx
    [ String           ] ~> Find String Ocurrences
    [ String           ] ~> Get Random String
    [ String           ] ~> Hex To Integer
    [ String           ] ~> Hex To String
    [ String           ] ~> Integer To Hex
    [ String           ] ~> Multiline string
    [ String           ] ~> Permute all combinations of characters
    [ String           ] ~> Read string line per line
    [ String           ] ~> RegEx Match Base Url
    [ String           ] ~> RegEx Match htm html
    [ String           ] ~> RegEx Match Tag
    [ String           ] ~> RegEx Match Url
    [ String           ] ~> RegEx Matches To List
    [ String           ] ~> Remove Last Char
    [ String           ] ~> Replace String (Increment method)
    [ String           ] ~> Replace Word (Increment method)
    [ String           ] ~> Reverse String
    [ String           ] ~> String Is Alphabetic
    [ String           ] ~> String Is Email
    [ String           ] ~> String Is Numeric
    [ String           ] ~> String Is URL
    [ String           ] ~> String Renamer
    [ String           ] ~> String to Binary
    [ String           ] ~> String to Byte-Array
    [ String           ] ~> String To CharArray
    [ String           ] ~> String To Hex
    [ String           ] ~> Validate RegEx
    [ Syntax           ] ~> Array 2D
    [ Syntax           ] ~> Convert Sender to Control
    [ Syntax           ] ~> Create events and manage them
    [ Syntax           ] ~> Dictionary
    [ Syntax           ] ~> DirectCast
    [ Syntax           ] ~> For Each Control...
    [ Syntax           ] ~> Global Variables [CLASS]
    [ Syntax           ] ~> Handle the same event for various controls
    [ Syntax           ] ~> Hashtable
    [ Syntax           ] ~> IDisposable
    [ Syntax           ] ~> If Debug conditional
    [ Syntax           ] ~> If Debugger IsAttached conditional
    [ Syntax           ] ~> Inherited Control
    [ Syntax           ] ~> InputBox
    [ Syntax           ] ~> List(Of FileInfo)
    [ Syntax           ] ~> List(Of Tuple)
    [ Syntax           ] ~> Overload Example
    [ Syntax           ] ~> Own Type
    [ Syntax           ] ~> Property
    [ Syntax           ] ~> Select Case For Numbers
    [ Syntax           ] ~> Select Case For Strings
    [ Syntax           ] ~> String Compare
    [ Syntax           ] ~> String Format
    [ Syntax           ] ~> StringBuilder
    [ Syntax           ] ~> Summary comments
    [ Syntax           ] ~> ToString
    [ Syntax           ] ~> Type Of Object
    [ Text             ] ~> Copy from clipboard
    [ Text             ] ~> Copy to clipboard
    [ Text             ] ~> Count Agrupations In String
    [ Text             ] ~> Count Blank Lines
    [ Text             ] ~> Count Non Blank Lines
    [ Text             ] ~> Cut First Lines From TextFile
    [ Text             ] ~> Cut Last Lines From TextFile
    [ Text             ] ~> Delete Clipboard
    [ Text             ] ~> Delete Empty And WhiteSpace Lines In TextFile
    [ Text             ] ~> Delete Empty Lines In TextFile
    [ Text             ] ~> Delete Line From TextFile
    [ Text             ] ~> Detect Text Encoding
    [ Text             ] ~> For each TextFile in My.Resources
    [ Text             ] ~> Get Non Blank Lines
    [ Text             ] ~> Get Text Measure
    [ Text             ] ~> Get TextFile Total Lines
    [ Text             ] ~> Get Window Text
    [ Text             ] ~> Keep First Lines From TextFile
    [ Text             ] ~> Keep Last Lines From TextFile
    [ Text             ] ~> Randomize TextFile
    [ Text             ] ~> Read textfile line per line
    [ Text             ] ~> Read TextFile Line
    [ Text             ] ~> Read TextFile
    [ Text             ] ~> Remove All Characters Except
    [ Text             ] ~> Replace All Characters Except
    [ Text             ] ~> Replace All Characters
    [ Text             ] ~> Replace Line From TextFile
    [ Text             ] ~> Resize TextFile
    [ Text             ] ~> Reverse TextFile
    [ Text             ] ~> Sort Textfile
    [ Text             ] ~> Split TextFile By Number Of Lines
    [ Text             ] ~> TextFile Is Unicode
    [ Text             ] ~> TextFiledParser Example
    [ Text             ] ~> Write Log
    [ Text             ] ~> Write Text To File
    [ WEB              ] ~> Download File Async
    [ WEB              ] ~> Download File
    [ WEB              ] ~> Download URL SourceCode
    [ WEB              ] ~> FTP Upload
    [ WEB              ] ~> GeoLocation
    [ WEB              ] ~> Get Google Maps Coordinates URL
    [ WEB              ] ~> Get Google Maps URL
    [ WEB              ] ~> Get Http Response
    [ WEB              ] ~> Get Method
    [ WEB              ] ~> Get My IP Address
    [ WEB              ] ~> Get Url Image
    [ WEB              ] ~> Get URL SourceCode
    [ WEB              ] ~> GMail Sender
    [ WEB              ] ~> Google Translate
    [ WEB              ] ~> HostName To IP
    [ WEB              ] ~> HTML Decode
    [ WEB              ] ~> HTML Encode
    [ WEB              ] ~> Html Entities To String
    [ WEB              ] ~> Html Escaped Entities To String
    [ WEB              ] ~> IP To Hostname
    [ WEB              ] ~> IRC Bot
    [ WEB              ] ~> Is Connectivity Avaliable
    [ WEB              ] ~> Is Network Avaliable
    [ WEB              ] ~> Parse HTML
    [ WEB              ] ~> Ping
    [ WEB              ] ~> Port Range Scan
    [ WEB              ] ~> Port Scan
    [ WEB              ] ~> Read Response Header
    [ WEB              ] ~> Send POST PHP
    [ WEB              ] ~> String To Html Entities
    [ WEB              ] ~> String To Html Escaped Entities
    [ WEB              ] ~> URL Decode
    [ WEB              ] ~> URL Encode
    [ WEB              ] ~> Validate IP
    [ WEB              ] ~> Validate Mail
    [ WEB              ] ~> Validate URL
    [ XML              ] ~> Convert XML to Anonymous Type
    [ XML              ] ~> Convert XML to IEnumerable(Of Tuple)
    [ XML              ] ~> XML Delete Duplicated Elements
    [ XML              ] ~> XML Sort Elements
    [ XML              ] ~> XML Writer Helper







    Descarga:
    http://www.mediafire.com/download/gfx6u5sqbm8zs5m/VSEUP2013.part01.rar
    http://www.mediafire.com/download/7e57g5zac9xbf73/VSEUP2013.part02.rar
    http://www.mediafire.com/download/526u12f3wylp5kd/VSEUP2013.part03.rar
    http://www.mediafire.com/download/n5hgotm2dyc63mt/VSEUP2013.part04.rar
    http://www.mediafire.com/download/cukldyfrer61gaf/VSEUP2013.part05.rar
    http://www.mediafire.com/download/d7imdevwzt131a2/VSEUP2013.part06.rar
    http://www.mediafire.com/download/go6o4iyerqv5r5h/VSEUP2013.part07.rar
    http://www.mediafire.com/download/o87n98bsr9anr2z/VSEUP2013.part08.rar
    http://www.mediafire.com/download/xob6joy717b1vb0/VSEUP2013.part09.rar
    http://www.mediafire.com/download/ek0ap6dmkpksw8v/VSEUP2013.part10.rar
    http://www.mediafire.com/download/a3255z9jir1qxod/VSEUP2013.part11.rar
    http://www.mediafire.com/download/vbe530z01bxzhdm/VSEUP2013.part12.rar

    (Archivos partidos en 100 MB)


    Que lo disfruten!

#596
Hola

Quiero intentar modificar una dll específica de un programa (bueno, un plugin de VisualStudio) que se compone de varias dll's, pero yo creo saber cual es la que necesito craquear porque descargué una versión del plugin antigua que incluia la dll craqueada.

El problema es que no es un ensamblado .NET pero tampoco se de que tipo es, de4dot no detecta ofuscación ni reconoce la dll como una dll .NET, el PeID tampoco me la reconoce...

...¿Entonces como se supone que debo empezar?, ¿voy directo a OllyDBG sin estar seguro de si es un emsamblado .NET?.

esta es la dll por si alquien puede darme más detalles: https://www.mediafire.com/?fmo18mtpox8zboe

Saludos!
#597
Hola, antes de nada quiero advertir que no se casi nada sobre el tema.

Agradecería cualquier ayuda para craquear esta dll ~> http://elektrostudios.tk/RapidDesign.zip
(símplemente por experimentar cosas nuevas, en plan educativo, pues la licencia solo cuesta 10$ y creo q todos podemos permitirnos esa pequeña cantidad de dinero).

Creo que la dll hace una comprobación online para decidir si un serial es válido o no, no se cuantas alternativas tendré, quiero decir:

1. omitir la comprobación del serial ?
2. no omitir la comprobación pero aceptar cualquier serial como válido ?
3. no mostrar el recordatorio de "programa caducado, registrese..." ?

...En un principio yo creo que omitiendo la comprobación del serial sería suficiente, así que eso estoy intentando.

El plugin se puede descargar aquí: http://www.rapiddesignaddin.com/Downloads.aspx?fn=RapidDesign.vsix

Como veis pide un serial de 12 caracteres:








La idea es manipular la dll para que acepte cualquier serial, o que se quede registrada sin pedir ningun serial ni hacer ninguna comprobación, u omitir el recordatorio de licencia expirada (aunque no se si eso sería suficiente).

Sé cosas muy básicas sobre Reflection, pero esto me supera y después de unas investigaciones sobre la iniciación en el cracking de dll's (de lo cual encuentro poquísimo o no se buscar bien) hasta aquí es hasta donde he llegado:

1. Lo primero que hice fue usar de4dot para comprobar si la dll está ofuscada/protegida, me dice que ha encontrado un tipo de ofuscación desconocido, pero también me dice lo mismo con otras dll's que no tienen ningún tipo de protección, así que doy por entendido que la dll no está protegida (claro que no lo está, si puedo ver todas las classes perféctamente).

2. Seguídamente busqué tutoriales y blablabla

3. Abrí el reflector (también probé con el SAE) y busque classes/métodos relacionados sobre el registro de licencia, encontré esto:



4. Examiné uno de los métodos (por alguna hay que empezar a probar suerte), copié el código del método y lo modifiqué a mi gusto en el bloc de notas:



5. Descargué el plugin Reflexil (esta es la parte que leí en un tutorial, si es que se le puede llamar así: http://forums.reflector.net/questions/1918/how-to-modify-code-in-net-dll-and-save-these-chang.html ) para intentar reemplazar el método antiguo por el que yo he modificado en el bloc de notas:

Cita de: http://forums.reflector.net/questions/1918/how-to-modify-code-in-net-dll-and-save-these-chang.html use Reflexil with the "Replace all with code" feature. Paste the code and fix imports. Should be ok.

Pero aquí es donde me pierdo, no sé como editar corréctamente las instrucciones para devolver un True, no devolver el resultado de otra función.

Tampoco sé si el código que hice en el bloc de notas puede reemplazarlo diréctamente por el código del método oriiginal, para no complicar más las cosas editando cada casilla de instrucciones manuálmente...

Al compilar me da errores de visibilidad inaccesible por el tipo de nivel de protección...





#598
Este mini-tutorial es sólomente apto para los amantes de las aplicaciones commandline.





¿Les gusta la imagen de arriba?, ¿Creen que pueden mejorarlo?, entonces me alegro mucho ya que les voy a explicar como pueden hacer lo mismo de forma muy sencilla.

Se me ocurrió la idea de darle un poco de 'vida' a las secciones de ayuda de mis aplicaciones así que ideé un metodo de uso genérico ...y a mi parecer creo que quedó sencillo y eficaz.

Los pasos a seguir son estos:

1. Copien y peguen esta Class que contiene la documentación de ayuda, en su proyecto:

Código (vbnet) [Seleccionar]
' Name.......: Help Section
' Author.....: Elektro
' Description: Class that manages the Help documentation of a Console application with colorization capabilities.
' Last Update: 05/01/2014
' References.: LINQ, 'WriteColoredText' method by Elektro.
' Indications: Use *F##* as the ForeColor beginning delimiter, use *-F* to restore the console forecolor.
'              Use *B##* as the BackColor beginning delimiter, use *-B* to restore the console BackColor.


#Region " Usage Examples "

#Region " Example Without Colorization "

'Module Module1

'    Sub Main()

'        Console.Title = HelpSection.Help.<Title>.Value

'        Dim sb As New System.Text.StringBuilder
'        sb.AppendLine(HelpSection.Help.<Logo>.Value)
'        sb.AppendLine(HelpSection.Help.<Separator>.Value)
'        sb.AppendLine(String.Format("    Executable name.......: {0}", HelpSection.Help.<Process>.Value))
'        sb.AppendLine(String.Format("    Application name......: {0}", HelpSection.Help.<Name>.Value))
'        sb.AppendLine(String.Format("    Application version...: {0}", HelpSection.Help.<Version>.Value))
'        sb.AppendLine(String.Format("    Application author....: {0}", HelpSection.Help.<Author>.Value))
'        sb.AppendLine(String.Format("    Application copyright.: {0}", HelpSection.Help.<Copyright>.Value))
'        sb.AppendLine(String.Format("    Author website........: {0}", HelpSection.Help.<Website>.Value))
'        sb.AppendLine(String.Format("    Author Skype..........: {0}", HelpSection.Help.<Skype>.Value))
'        sb.AppendLine(String.Format("    Author Email..........: {0}", HelpSection.Help.<Email>.Value))
'        sb.AppendLine(HelpSection.Help.<Separator>.Value)
'        sb.AppendLine(HelpSection.Help.<Syntax>.Value)
'        sb.AppendLine(HelpSection.Help.<SyntaxExtra>.Value)
'        sb.AppendLine(HelpSection.Help.<UsageExamples>.Value)

'         HelpSection.WriteLine(sb.ToString)

'        Threading.Thread.Sleep(60000)

'    End Sub

'End Module

#End Region

#Region " Example With Colorization "

'Module Module1

'    Sub Main()

'        Console.Title = HelpSection.ColorizedHelp.<Title>.Value

'        Dim sb As New System.Text.StringBuilder
'        sb.AppendLine(HelpSection.ColorizedHelp.<Logo>.Value)
'        sb.AppendLine(HelpSection.ColorizedHelp.<Separator>.Value)
'        sb.AppendLine(String.Format("    Executable name.......: {0}", HelpSection.ColorizedHelp.<Process>.Value))
'        sb.AppendLine(String.Format("    Application name......: {0}", HelpSection.ColorizedHelp.<Name>.Value))
'        sb.AppendLine(String.Format("    Application version...: {0}", HelpSection.ColorizedHelp.<Version>.Value))
'        sb.AppendLine(String.Format("    Application author....: {0}", HelpSection.ColorizedHelp.<Author>.Value))
'        sb.AppendLine(String.Format("    Application copyright.: {0}", HelpSection.ColorizedHelp.<Copyright>.Value))
'        sb.AppendLine(String.Format("    Author website........: {0}", HelpSection.ColorizedHelp.<Website>.Value))
'        sb.AppendLine(String.Format("    Author Skype..........: {0}", HelpSection.ColorizedHelp.<Skype>.Value))
'        sb.AppendLine(String.Format("    Author Email..........: {0}", HelpSection.ColorizedHelp.<Email>.Value))
'        sb.AppendLine(HelpSection.ColorizedHelp.<Separator>.Value)
'        sb.AppendLine(HelpSection.ColorizedHelp.<Syntax>.Value)
'        sb.AppendLine(HelpSection.ColorizedHelp.<SyntaxExtra>.Value)
'        sb.AppendLine(HelpSection.ColorizedHelp.<UsageExamples>.Value)

'        WriteColoredTextLine(sb.ToString, {"*"c})

'        Threading.Thread.Sleep(60000)

'    End Sub

'End Module

#End Region

#End Region

#Region " ConsoleColor Enumeration Helper "

' Black = 0
' DarkBlue = 1
' DarkGreen = 2
' DarkCyan = 3
' DarkRed = 4
' DarkMagenta = 5
' DarkYellow = 6
' Gray = 7
' DarkGray = 8
' Blue = 9
' Green = 10
' Cyan = 11
' Red = 12
' Magenta = 13
' Yellow = 14
' White = 15

#End Region

#Region " HelpSection "

Friend Class HelpSection

#Region " Members "

   ''' <summary>
   ''' Indicates dynamically the name of the current process.
   ''' </summary>
   Private Shared ReadOnly ProcessName As String =
       Process.GetCurrentProcess().MainModule.ModuleName

   ''' <summary>
   ''' Use this var into an XML if need to escape an 'GreaterThan' character.
   ''' </summary>
   Private ReadOnly c_GreaterThan As Char = ">"c

   ''' <summary>
   ''' Use this var into an XML if need to escape an 'LowerThan' character.
   ''' </summary>
   Private ReadOnly c_LowerThan As Char = "<"c

#End Region

#Region " Help Text "

   ''' <summary>
   ''' Contains Help information such as Author, Syntax and Example usages.
   ''' </summary>
   Friend Shared ReadOnly Help As XElement =
<Help>

   <!-- Current process name -->
   <!-- That means even when the user manually changes the executable name -->
   <Process><%= ProcessName %></Process>

   <!-- Application title -->
   <Title>My Application .:: By Elektro ::.</Title>

   <!-- Application name -->
   <Name>My Application</Name>

   <!-- Application author -->
   <Author>Elektro</Author>

   <!-- Application version -->
   <Version>1.0</Version>

   <!-- Copyright information -->
   <Copyright>© Elektro Software 2014</Copyright>

   <!-- Website information -->
   <Website>http://foro.elhacker.net</Website>

   <!-- Skype contact information -->
   <Skype>ElektroStudios</Skype>

   <!-- Email contact information -->
   <Email>ElektroStudios@ElHacker.Net</Email>

   <!-- Application Logotype -->
   <Logo>
   .____                        
   |    |    ____   ____   ____  
   |    |   / _  \ / ___\ /  _ \
   |    |__( |_|  ) /_/  >  |_| )
   |_______ \____/\___  / \____/
           \/     /____/  
   </Logo>

   <!-- Separator shape -->
   <Separator>
   ------------------------------------------------------>>>>
   </Separator>

   <!-- Application Syntax -->
   <Syntax>
   [+] Syntax

       <%= ProcessName %> (SWITCH)=(VALUE) (IN FILE)
   </Syntax>

   <!-- Application Syntax (Additional Specifications) -->
   <SyntaxExtra>
   [+] Switches

       /Switch1  | Description.
       /Switch2  | Description.
                 |
       /?        | Display this help.


   [+] Switch value types

       /Switch1  (INT)
       /Switch2  (X,Y)
   </SyntaxExtra>

   <!-- Application Usage Examples -->
   <UsageExamples>
   [+] Usage examples

       <%= ProcessName %> /Switch1=Value "C:\File.txt"
       ( Command explanation )
   </UsageExamples>

</Help>

   ''' <summary>
   ''' Contains Help information such as Author, Syntax and Example usages.
   ''' These strings are color-delimited to print a colorized output console,
   ''' using the 'WriteColoredText' methods written by Elektro.
   ''' </summary>
   Friend Shared ReadOnly ColorizedHelp As XElement =
<Help>

   <!-- Current process name -->
   <!-- That means even when the user manually changes the executable name -->
   <Process>*F10*<%= ProcessName %>*-F*</Process>

   <!-- Application title -->
   <Title>My Application .:: By Elektro ::.</Title>

   <!-- Application name -->
   <Name>*F10*My Application*-F*</Name>

   <!-- Application author -->
   <Author>*f10*Elektro*-F*</Author>

   <!-- Application version -->
   <Version>*F10*1.0*-F*</Version>

   <!-- Copyright information -->
   <Copyright>*F10*© Elektro Software 2014*-F*</Copyright>

   <!-- Website information -->
   <Website>*F10*http://foro.elhacker.net*-F*</Website>

   <!-- Skype contact information -->
   <Skype>*F10*ElektroStudios*-F*</Skype>

   <!-- Email contact information -->
   <Email>*F10*ElektroStudios@ElHacker.Net*-F*</Email>

   <!-- Application Logotype -->
   <Logo>*F11*
   .____                        
   |    |    ____   ____   ____  
   |    |   / _  \ / ___\ /  _ \
   |    |__( |_|  ) /_/  >  |_| )
   |_______ \____/\___  / \____/
           \/     /____/  
   *-F*</Logo>

   <!-- Separator shape -->
   <Separator>
   *F11*------------------------------------------------------>>>>*-F*
   </Separator>

   <!-- Application Syntax -->
   <Syntax>
   *F11*[+]*-F* *F14*Syntax*-F*

       <%= ProcessName %> *F10*(SWITCH)*-F*=*F10*(VALUE)*-F* *F10*(IN FILE)*-F*
   </Syntax>

   <!-- Application Syntax (Additional Specifications) -->
   <SyntaxExtra>
   *F11*[+]*-F* *F14*Switches*-F*

       *F10*/Switch1*-F*  | *F11*Description.*-F*
       *F10*/Switch2*-F*  | *F11*Description.*-F*
       *F10*        *-F*  |
       *F10*/?      *-F*  | *F11*Display this help.*-F*


   *F11*[+]*-F* *F14*Switch value types*-F*

       *F10*/Switch1*-F*  (*F11*INT*-F*)
       *F10*/Switch2*-F*  (*F11*X,Y*-F*)
   </SyntaxExtra>

   <!-- Application Usage Examples -->
   <UsageExamples>
   *F11*[+]*-F* *F14*Usage examples*-F*

       <%= ProcessName %> /Switch1=Value "C:\File.txt"
       *F11*( Command explanation )*-F*
   </UsageExamples>

</Help>

#End Region

End Class

#End Region


2. Copien y peguen en su proyecto estos métodos para parsear y colorear los strings:

Código (vbnet) [Seleccionar]
#Region " Write Colored Text "

   ' Name.......: Write Colored Text
   ' Author.....: Elektro
   ' Description: Methods to write colorized strings.
   ' Last Update: 05/01/2014
   ' References.: LINQ
   ' Indications: Use *F##* as the ForeColor beginning delimiter, use *-F* to restore the console forecolor.
   '              Use *B##* as the BackColor beginning delimiter, use *-B* to restore the console BackColor.
   '
   ' Example Usages:
   '
   ' WriteColoredText(    " Hello World! ", ConsoleColor.Blue,    ConsoleColor.Blue)
   ' WriteColoredTextLine(" Hello World! ", ConsoleColor.Magenta, ConsoleColor.Gray)
   ' WriteColoredTextLine(" Hello World! ", Nothing,              Nothing)
   '
   ' WriteColoredText("*F10*Hello *F14*World!*-F*", {"*"c})
   ' WriteColoredTextLine("{B15}{F12} Hello World! {-F}{-B}", {"{"c, "}"c})
   ' WriteColoredTextLine(String.Format("*B15**F12* {0} *F0*{1} *-F**-B*", "Hello", "World!"), {"*"c})

   ''' <summary>
   ''' Writes colored text on the Console.
   ''' </summary>
   ''' <param name="Text">Indicates the color-delimited text to parse and then write.</param>
   ''' <param name="Delimiters">Indicates a set of (1 or 2) delimiters to parse a color-delimited string.</param>
   Friend Sub WriteColoredText(ByVal Text As String,
                               ByVal Delimiters As Char())

       ' Store the current console colors to restore them later.
       Dim CurrentForegroundColor As ConsoleColor = Console.ForegroundColor
       Dim CurrentBackgroundColor As ConsoleColor = Console.BackgroundColor

       ' Split the string to retrieve and parse the color-delimited strings.
       Dim StringParts As String() =
           Text.Split(Delimiters, StringSplitOptions.RemoveEmptyEntries)

       ' Parse the string parts
       For Each part As String In StringParts

           If part.ToUpper Like "F#" _
           OrElse part.ToUpper Like "F##" Then ' Change the ForeColor.

               Console.ForegroundColor = CInt(part.Substring(1))

           ElseIf part.ToUpper Like "B#" _
           OrElse part.ToUpper Like "B##" Then ' Change the BackgroundColor.

               Console.BackgroundColor = CInt(part.Substring(1))

           ElseIf part.ToUpper Like "-F" Then  ' Restore the original Forecolor.

               Console.ForegroundColor = CurrentForegroundColor

           ElseIf part.ToUpper Like "-B" Then ' Restore the original BackgroundColor.

               Console.BackgroundColor = CurrentBackgroundColor

           Else ' String part is not a delimiter so we can print it.

               Console.Write(part)

           End If

       Next part

       ' Finish by restoring the original console colors.
       Console.BackgroundColor = CurrentBackgroundColor
       Console.ForegroundColor = CurrentForegroundColor

   End Sub

   ''' <summary>
   ''' Writes colored text on the Console.
   ''' </summary>
   ''' <param name="Text">Indicates the text to write.</param>
   ''' <param name="ForeColor">Indicates the text color.</param>
   ''' <param name="BackColor">Indicates the background color.</param>
   Friend Sub WriteColoredText(ByVal Text As String,
                               ByVal ForeColor As ConsoleColor,
                               ByVal BackColor As ConsoleColor)

       ' Store the current console colors to restore them later.
       Dim CurrentForegroundColor As ConsoleColor = Console.ForegroundColor
       Dim CurrentBackgroundColor As ConsoleColor = Console.BackgroundColor

       ' Set the new temporal console colors.
       Console.ForegroundColor = If(ForeColor = Nothing, CurrentForegroundColor, ForeColor)
       Console.BackgroundColor = If(BackColor = Nothing, CurrentBackgroundColor, BackColor)

       ' Print the text.
       Console.Write(Text)

       ' Finish by restoring the original console colors.
       Console.ForegroundColor = CurrentForegroundColor
       Console.BackgroundColor = CurrentBackgroundColor

   End Sub

   ''' <summary>
   ''' Writes colored text on the Console and adds an empty line at the end.
   ''' </summary>
   ''' <param name="Text">Indicates the color-delimited text to parse and then write.</param>
   ''' <param name="Delimiters">Indicates a set of (1 or 2) delimiters to parse a color-delimited string.</param>
   Friend Sub WriteColoredTextLine(ByVal Text As String,
                                   ByVal Delimiters As Char())

       WriteColoredText(Text & Environment.NewLine, Delimiters)

   End Sub

   ''' <summary>
   ''' Writes colored text on the Console and adds an empty line at the end.
   ''' </summary>
   ''' <param name="Text">Indicates the color-delimited text to parse and then write.</param>
   ''' <param name="ForeColor">Indicates the text color.</param>
   ''' <param name="BackColor">Indicates the background color.</param>
   Friend Sub WriteColoredTextLine(ByVal Text As String,
                                   ByVal ForeColor As ConsoleColor,
                                   ByVal BackColor As ConsoleColor)

       WriteColoredText(Text & Environment.NewLine, ForeColor, BackColor)

   End Sub

#End Region



3. En la sección regionada 'Help Text' deben especificar lo que deseen, el logo, la sintaxis, la información de contacto, etc... eso es lo único que deben hardcodear (óbviamente no va a ser un click&go, pues toda aplicación tiene distintos parámetros así pues distinta información).

Por ejemplo, inspeccionemos este nodo:
Código (xml) [Seleccionar]
   <!-- Application Usage Examples -->
   <UsageExamples>
   {f11}[+]{-f} {f14}Usage examples{-f}

       <%= ProcessName %> /Switch1=Value "C:\File.txt"
       {f11}( Command explanation ){-f}
   </UsageExamples>


¿Que significan todos esos parámetros 'F'?, bien, son los delimitadores que establecí para indicar el principio y el fínal de un cambio de color (color de texto o color de fondo),
un cambio de color de texto debe empezar con la letra "F" (de Forecolor), y un cambio de color de fondo debe empezar con la letra "B" (de BackgroundColor),
seguídamente le añadiremos un número del 0-15 que hace referencia a un color de consola (solo existen 15), por ejemplo: el inicio de cambio de color de texto "{F11}" hace referencia al color de consola número 11, que es el color 'Cyan'

Para restaurar el color original usaremos el delimitador {-f} o {-b} respectívamente del tipo de cambio de color del que se trate.

Y para mostrar el texto coloreado es necesario usar un método que ideé el cual se encarga de parsear los delimitadores de cambio de colores.


Un ejemplo de uso de los método:

Código (vbnet) [Seleccionar]
Module Module1

   Sub Main()

       Console.Title = HelpSection.ColorizedHelp.<Title>.Value

       Dim sb As New System.Text.StringBuilder
       sb.AppendLine(HelpSection.ColorizedHelp.<Logo>.Value)
       sb.AppendLine(HelpSection.ColorizedHelp.<Separator>.Value)
       sb.AppendLine(HelpSection.ColorizedHelp.<Syntax>.Value)
       sb.AppendLine(HelpSection.ColorizedHelp.<UsageExamples>.Value)

       WriteColoredTextLine(sb.ToString, {"*"c})
       ' WriteColoredText(sb.ToString, {"*"c})

       Threading.Thread.Sleep(60000)

   End Sub

End Module


Además, los métodos son de uso genérico y hay 1 overload para los dos métodos, esto significa que pueden reutilizarlos de forma individual en cualquier otro tipo de proyecto, de la siguiente manera:
Código (vbnet) [Seleccionar]

WriteColoredText(" Hello World! ", ConsoleColor.Blue, ConsoleColor.Blue)
WriteColoredTextLine(" Hello World! ", ConsoleColor.Magenta, ConsoleColor.Gray)
WriteColoredTextLine(" Hello World! ", Nothing, Nothing)

WriteColoredText("*F10*Hello *F14*World!*-F*", {"*"c})
WriteColoredTextLine("{B15}{F12} Hello World! {-F}{-B}", {"{"c, "}"c})
WriteColoredTextLine(String.Format("*B15**F12* {0} *F0*{1} *-F**-B*", "Hello", "World!"), {"*"c})


Eso es todo, ¿te resultó facil?, espero que este mini-tutorial le haya servido a alguien.

Saludos!
#599
¿Que es una Plantilla?

Al instalar Visual Studio también se instalan una serie de plantillas de proyecto y de elementos de proyecto predefinidas. Puede utilizar una de las distintas plantillas de proyecto existentes para crear el contenedor de tipo proyecto básico y para crear un conjunto de elementos previo para la aplicación, clase, control o biblioteca. También puede utilizar una de las numerosas plantillas de elementos de proyecto para crear, por ejemplo, una aplicación de Windows Forms o una página de formularios Web Forms que luego podrá personalizar al desarrollar la aplicación.

Además de las plantillas instaladas disponibles en los cuadros de diálogo Nuevo proyecto y Agregar nuevo elemento, puede tener acceso a las plantillas que ha creado u obtenido de la comunidad.




¿Como crear una Plantilla de proyecto?

Para crear una plantilla de proyecto personalizada con el Asistente para exportar plantillas

   1. Cree un proyecto.

   2. Cuando asigne un nombre a un proyecto que será el origen de una plantilla, use únicamente caracteres de identificador válidos. Una plantilla exportada desde un proyecto cuyo nombre contenga caracteres no válidos puede producir errores de compilación en proyectos futuros que se basen en la plantilla. Para obtener más información sobre los caracteres de identificador válidos, vea Nombres de elementos declarados.

   3. Edite el proyecto hasta que esté listo para ser exportado como una plantilla.

   Según corresponda, edite los archivos de código para indicar dónde debería tener lugar la sustitución del parámetro. Para obtener más información sobre la sustitución del parámetro, vea Cómo: Sustituir parámetros en una plantilla.

   4. En el menú Archivo, haga clic en Exportar plantilla. Se abrirá el Asistente para exportar plantillas.

   5. Haga clic en Plantilla de proyecto.

   6. Si tiene más de un proyecto en su solución actual, seleccione el proyecto que desee exportar a una plantilla.

   7. Seleccione el tipo de plantilla que desee crear.

   8. Haga clic en Siguiente.

   9. Seleccione un icono para la plantilla. Este icono aparecerá en el cuadro de diálogo Nuevo proyecto.

   10. Escriba un nombre y una descripción de la plantilla.

   11. Haga clic en Finalizar. El proyecto se exportará en un archivo .zip y se colocará en la ubicación de salida especificada y, si se seleccionó, se importará a Visual Studio.




¿Como crear un Plantilla de elemento?

Para agregar una plantilla de elemento de proyecto personalizada al cuadro de diálogo Agregar nuevo elemento

   1. Cree o abra un proyecto en Visual Studio.

   2. Agregue un elemento al proyecto y modifíquelo si es necesario.

   3. Edite el archivo de código para indicar dónde debe tener lugar el reemplazo de parámetros.

   4. En el menú Archivo, haga clic en Exportar plantilla.

   5. Haga clic en Plantilla de elemento, seleccione el proyecto que contiene el elemento y haga clic en Siguiente.

   6. Seleccione el elemento para el que desea crear una plantilla y haga clic en Siguiente.

   7. Seleccione las referencias de ensamblado que vaya a incluir en la plantilla y haga clic en Siguiente.

   8. Escriba el nombre del archivo de icono, el nombre de plantilla y la descripción de la plantilla y haga clic en Finalizar.

   9. Los archivos para la plantilla se agregan a un archivo .zip y se copian en la carpeta ..\Users\<nombreDeUsuario>\Documentos\Visual Studio 2008\Templates\ItemTemplates\.




¿Como instalar una Plantilla?

1. Vayan al directorio donde VisualStudio guarda sus documentos, en mi caso es: C:\Users\Administrador\Documents\Visual Studio 2013
(Si usan mi instalador de VisualStudio 2013 entonces puedes acceder fácilmente usando la variable de entorno %VSDOC%)

2. Seguídamente vayan a la carpeta Templates:
C:\Users\Administrador\Documents\Visual Studio 2013\Templates

3.1 Si se trata de una plantilla de proyecto, entonces coloquen la carpeta (o archivo ZIP) que contiene la plantilla en este directorio, respectívamente para el lenguaje que se vaya a usar:
C:\Users\Administrador\Documents\Visual Studio 2013\Templates\ProjectTemplates\Visual Basic

3.2 Si se trata de una plantilla de elemento, entonces coloquen la carpeta (o archivo ZIP) que contiene la plantilla en este directorio:
C:\Users\Administrador\Documents\Visual Studio 2013\Templates\ItemTemplates

4.1 Para usar una plantilla de proyecto, inicien VisualStudio y abran el selector de nuevo proyecto, aquí aparecerá la nueva plantilla:



4.2 Para usar una plantilla de elemento, inicien VisualStudio, creen un nuevo proyecto, hagan click derecho en el explorador de la solución, seguídamente hagan click en la opción 'Añadir > Nuevo elemento', aquí aparecerá la nueva plantilla:

#600

Descripción:

Esta aplicación sirve para instalar un user-control de forma automatizada en VisualStudio, mediante DTE.




El autor del código original (escrito en C#) es Libor Tinka ~> http://www.componentowl.com/articles/visual-studio-toolbox-control-integration#integration-dte

Estas han sido las adaptaciones que le hice al código original:

· Traducirlo a VB.NET.
· Añadir compatibilidad de instalación/desinstalación para VisualStudio 2013.
· Añadir compatibilidad con controles de tipo WindowsPresentationForm (Esta característica está en fase experimental, puede no instalarse corréctamente).
· Añadir compatibilidad con controles compilados con Framework runtime version 4.5.1.
· Mejorar y simplificar el código en zonas criticas (Parseado de argumentos, controles de errores, etc).
· Añadir documentación accesible desde la consola.


Modo de empleo:

[+] Syntax:

   DTEInstaller.exe [Mode] [Version] [Template] [Tab] [Assembly]

[+] Parameters:

   Mode      | Indicates the kind of operation to perform.
   Version   | Indicates the VisualStudio target version.
   Template  | Indicates the application template type.
   Tab       | Indicates the tab name to create on the Toolbox.
   Assembly  | Indicates the assembly filepath to install on the tab.
             |
   /?        | Display this help.

[+] Allowed parameter values:

   Mode:
   "Install", "Uninstall"

   Version:
   "Vs2005", "Vs2008", "Vs2010", "Vs2012", "Vs2013"

   Template:
   "WF", "WPF"

   Tab:
   (Anything is allowed)

   Assembly:
   (The path of an existing assembly)

[+] Usage examples:

   DTEInstaller.exe Install Vs2013 WF "Sample Tab" "C:\Sample UserControl.dll"
   (Installs the user-control on the VisualStudio 2013 WindowsForms Toolbox)





Imágenes:

( Este es el compilado Debug, que muestra información adicional )




Descarga:

-> http://elektrostudios.tk/Extended%20DTE%20Toolbox%20Control%20Installer.zip

(enlace resubido el 29/Sep/2014)
https://www.mediafire.com/?5839cut2w67k7pu

Tengan en cuenta que, por ejemplo, para instalar un control compilado con Framework 4.5.1, no pueden usar un ensamblado compilado en una versión inferior, por eso en el source incluyo dos compilaciones:

#601
Hola

EDITO: Nada, no hagan caso de lo que digo más abajo, pueden eliminar o cerrar el tema, siento las molestias

Últimamente me ha dado por cambiarme el nick (me aburrí del antiguo y ahora me cuesta decidirme), el caso es que me gustaría poner "Elektro" a secas, pero el sistema me dice que ese nombre ya está establecido por otro usuario.

Yo nunca he visto otro Elektro en el foro, no sé, ¿Alguien de arriba podría verificar si existe ese usuario y, en caso de estar inactivo durante varios años pues... eliminar esa cuenta o cambiarle el nombre por otro parecido (cambiarle la K por la C) para poder cambiarme yo mi nombre?, no se si esto será mucho pedir pero no creo que deje de ser ético si se trata de una cuenta inactiva durante años... ¿no creen?.

¿Alguien puede decirme algo al respecto?

Un saludo!
#602
Hola,

Estaba tratando de enviar cierta información a un compañero del foro pero me salia un extraño error al intentar enviar el mensaje, así que indagando y editando el contenido del mensaje he descubierto cual era el problema, y se trata de este:

Loquesea@Loquesea.com; Loquesea@Loquesea.com

Símplemente traten de escribir y publicar dos emails separados por una coma, y no podrán hacerlo, saldrá este error al intentar publicar/previsualizar un post:
You don't have permission to access /post2.html;start=0;board=XX on this server.

O este otro al intentar mandar un mensaje:
You don't have permission to access /pm.html;sa=send2 on this server.

En el ejemplo usé un punto-y-coma, deben usar una coma para ver el error.

No soy Admin de ningún foro así que disculpar si me equivoco pero aún sin conocer como se crea un foro SMF o como funciona, lo primero que se me viene a la cabeza es que algún parseador (quizás el parser que se encarga de filtrar las palabras prohibidas) está haciendo mal su trabajo produciendo algún bug, o quizás es algún otro parser que trata de parsear cadenas delimitadas por comas, lo dejo ahí por si os ayuda a encontrar el causante del error.

Saludos!
#603
Quiero compartir mi plantilla de aplicación de consola por defecto con menú,
para importar la plantilla a VisualStudio símplemente deben copiar el archivo ZIP al directorio "...Mis Documentos\Visual Studio\Templates\ProjectTemplates\"  (o donde lo hayan establecido en la configuración de VisualStudio).

Esto es lo que le añadí:

· Menú inteligente, se mueve con las flechas de dirección del teclado, así como poder elegir una opción según el Identificador del item (1-9, A-Z).
· Sección de ayuda. (Logo, sintaxis, título)
· Método para escribir texto coloreado.
· Método para ocultar la consola.
· Método para lanzar un error conocido.

Todo documentado y en no muchas lineas de código.

Descarga: http://elektrostudios.tk/ElektroStudios%20Console%20Menu%20Application.zip




Una imagen:





Este es el código principal, junto a 2 Classes adicionales que se encuentran dentro de la plantilla.

Código (vbnet) [Seleccionar]
Module Main

#Region " Variables "

   ''' <summary>
   ''' The chooseable menu items.
   ''' </summary>
   Private ReadOnly MenuItems() As String =
       {
        "[1] One",
        "[2] Two",
        "[3] Three",
        "[4] Four",
        "[H] Help",
        "[X] Exit"
       }

   ''' <summary>
   ''' Indicates the selected menu item.
   ''' </summary>
   Private CurrentMenuItem As Short = 0

   ''' <summary>
   ''' The object to read in a pressed key.
   ''' </summary>
   Private key As ConsoleKeyInfo = Nothing

   ''' <summary>
   ''' Indicates wether the user pressed a valid key.
   ''' </summary>
   Private ValidKeyIsPressed As Boolean = False

   ''' <summary>
   ''' To manage known errors.
   ''' </summary>
   Private ReadOnly KnownErrors As New Dictionary(Of Integer, String) From
   {
       {1, "Wrong parameter"},
       {2, "Parameter not specified"},
       {9999, "Unknown Error"}
   }

#End Region

#Region " Main Procedure "

   ''' <summary>
   ''' The main procedure of this application.
   ''' </summary>
   Public Sub Main()
       Console.Title = HelpSection.Title ' Set the Console Title.
       ShowMenu() ' Display the console menu.
       DoSomething()
       Environment.Exit(0) ' Exit succesfully.
   End Sub

#End Region

#Region " Methods "

   ''' <summary>
   ''' Displays the console menu.
   ''' </summary>
   Private Sub ShowMenu()

       ' Wait for a valid key.
       Do Until ValidKeyIsPressed

           ' Clear the screen.
           Console.Clear()

           ' Print the application Logotype.
           Write_Colored_Text(HelpSection.Logo, True, ConsoleColor.Green) ' Print the Logo.

           ' Print a simple help text.
           Write_Colored_Text("[+] Choose an option:", True, ConsoleColor.White)
           Console.WriteLine()

           ' Loop through all of the menu items to print them.
           For Each MenuItem As String In MenuItems

               If MenuItem = MenuItems.ElementAt(CurrentMenuItem) Then
                   Write_Colored_Text(String.Format(" -> {0}", MenuItem), True, ConsoleColor.Green)
               Else
                   Write_Colored_Text(MenuItem, True, ConsoleColor.Gray)
               End If

           Next MenuItem

           ' Waits until the user presses a key.
           key = Console.ReadKey(True)

           ' Process the pressed key.
           Select Case key.Key

               Case Keys.Down ' If the key the user pressed is a "DownArrow", the current menu item will deacrease.
                   CurrentMenuItem += 1
                   If CurrentMenuItem > MenuItems.Length - 1 Then
                       CurrentMenuItem = 0
                   End If

               Case Keys.Up ' If the key the user pressed is a "UpArrow", the current menu item will increase.
                   CurrentMenuItem -= 1
                   If CurrentMenuItem < 0 Then
                       CurrentMenuItem = CShort(MenuItems.Length - 1)
                   End If

               Case Keys.Enter ' Enter Key (Select current menu item).
                   ValidKeyIsPressed = True

               Case Keys.D1 To Keys.D4 ' A numeric key is pressed between 1-4.
                   CurrentMenuItem = key.Key.ToString.Substring(1) - 1
                   ValidKeyIsPressed = True

               Case Keys.H ' H Key (Print Help).
                   PrintHelp()
                   ValidKeyIsPressed = True

               Case Keys.X ' X Key (Exit from application).
                   Environment.Exit(0)

           End Select

       Loop

   End Sub

   ''' <summary>
   ''' Do something.
   ''' </summary>
   Private Sub DoSomething()
       Console.WriteLine()
       Write_Colored_Text("User Pressed Key: " & key.Key.ToString, True, ConsoleColor.Red, ConsoleColor.White)
       Write_Colored_Text("Selected Option : " & MenuItems(CurrentMenuItem), True, ConsoleColor.Red, ConsoleColor.White)
       Write_Colored_Text("Selected Index  : " & CurrentMenuItem.ToString, True, ConsoleColor.Red, ConsoleColor.White)
       Console.ReadLine()
   End Sub

#End Region

#Region " Miscellaneous Methods "

   ''' <summary>
   ''' Writes colored text on the Console.
   ''' </summary>
   ''' <param name="Text">Indicates the text to write.</param>
   ''' <param name="AddNewLine">Adds an empty line at the end of the text.</param>
   ''' <param name="ForeColor">Indicates the text color.</param>
   ''' <param name="BackColor">Indicates the background color.</param>
   Private Sub Write_Colored_Text(ByVal Text As String,
                                  Optional ByVal AddNewLine As Boolean = False,
                                  Optional ByVal ForeColor As ConsoleColor = Nothing,
                                  Optional ByVal BackColor As ConsoleColor = Nothing)

       Dim CurrentForegroundColor As ConsoleColor = Console.ForegroundColor
       Dim CurrentBackgroundColor As ConsoleColor = Console.BackgroundColor

       Console.ForegroundColor = If(ForeColor = Nothing, CurrentForegroundColor, ForeColor)
       Console.BackgroundColor = If(ForeColor = Nothing, CurrentBackgroundColor, BackColor)

       If AddNewLine Then
           Console.WriteLine(Text)
       Else
           Console.Write(Text)
       End If

       Console.ForegroundColor = CurrentForegroundColor
       Console.BackgroundColor = CurrentBackgroundColor

   End Sub

   ''' <summary>
   ''' Set the window state of the console.
   ''' </summary>
   ''' <param name="WindowState">Indicates the new state of the console window.</param>
   Public Function SetWindow(ByVal WindowState As ConsoleWindowState.WindowState) As Boolean
       Return ConsoleWindowState.SetWindowState(WindowState)
   End Function

   ''' <summary>
   ''' Print the Help section and exits from the application.
   ''' </summary>
   Private Sub PrintHelp()
       Console.WriteLine(HelpSection.Help)
       Environment.Exit(0) ' Exit succesfully.
   End Sub

   ''' <summary>
   ''' Launch a known error and exits from the application.
   ''' </summary>
   ''' <param name="ErrorID">
   ''' Indicates the known Error Identifier.
   ''' This value is also used to specify the ExitCode.
   ''' </param>
   ''' <param name="MoreInfo">Indicates additional information.</param>
   Private Sub LaunchError(ByVal ErrorID As Integer, Optional ByVal MoreInfo As String = Nothing)

       Console.WriteLine()
       Write_Colored_Text(KnownErrors(ErrorID) &
                          If(MoreInfo IsNot Nothing, ": " & MoreInfo, Nothing),
                          True, ConsoleColor.White, ConsoleColor.DarkRed)

       Environment.Exit(ErrorID) ' Exit with error exitcode.

   End Sub

#End Region

End Module


Saludos.
#604
Quiero compartir mi plantilla de aplicación de consola por defecto para parsear argumentos,
para importar la plantilla a VisualStudio símplemente deben copiar el archivo ZIP al directorio "...Mis Documentos\Visual Studio\Templates\ProjectTemplates\"  (o donde lo hayan establecido en la configuración de VisualStudio).

Esto es lo que le añadí:

· Sección de ayuda. (Logo, sintaxis, título)
· Método para escribir texto coloreado.
· Método para ocultar la consola.
· Método para lanzar un error conocido.
· Método para establecer los argumentos de la aplicación. (Ojo, esto es con fines de debug, no usarlo en el Release, ya que el regex no es perfecto.)
· Método para procesar argumentos.
· Método para comprobar si los argumentos están vacios.
· Método para unir los argumentos en un String.

Todo documentado y en no muchas lineas de código.

Descarga: http://elektrostudios.tk/ElektroStudios%20Console%20Application.zip




Una imagen:





Este es el código principal, junto a 2 Classes adicionales que se encuentran dentro de la plantilla.

Código (vbnet) [Seleccionar]
Module Main

#Region " Variables "

   ''' <summary>
   ''' Here will be stored the commandline arguments for this application.
   ''' If DebugArguments is nothing then the normal arguments are used,
   ''' Otherwise, the custom debug arguments are used.
   ''' </summary>
   Private Arguments As IEnumerable(Of String) =
       Set_CommandLine_Arguments(<a><![CDATA[/Switch1=Value1 /Switch2="Value2"]]></a>.Value)

   ''' <summary>
   ''' Something.
   ''' </summary>
   Private Something As String = Nothing

   ''' <summary>
   ''' To manage known errors.
   ''' </summary>
   Private ReadOnly KnownErrors As New Dictionary(Of Integer, String) From
   {
       {1, "Wrong parameter"},
       {2, "Parameter not specified"},
       {9999, "Unknown Error"}
   }

#End Region

#Region " DEBUG CommandLine Arguments "

   ''' <summary>
   ''' Set the commandline arguments of this application for testing purposes.
   ''' </summary>
   Public Function Set_CommandLine_Arguments(Optional ByVal DebugArguments As String = Nothing) As IEnumerable(Of String)

#If DEBUG Then

   ' Código eliminado porque el foro tiene un bug al parsear los caracteres...

   End Function

#End Region

#Region " Main Procedure "

   ''' <summary>
   ''' The main procedure of this application.
   ''' </summary>
   Public Sub Main()
       Console.Title = HelpSection.Title ' Set the Console Title.
       Write_Colored_Text(HelpSection.Logo, True, ConsoleColor.Green) ' Print the Logo.
       Write_Colored_Text("Arguments: " & Join_Arguments(Arguments), True, ConsoleColor.DarkGray) ' Print the Arguments.
       Parse_Arguments() ' Processes the arguments passed to the application.
       DoSomething() ' Do Something and wait.
       Environment.Exit(0) ' Exit succesfully.
   End Sub

#End Region

#Region " Methods "

   ''' <summary>
   ''' Parses the Arguments passed to this application.
   ''' </summary>
   Private Sub Parse_Arguments()

       ' Arguments Are Empty?.
       If Arguments_Are_Empty(Arguments) Then
           PrintHelp()
       End If

       ' Parse arguments.
       For Each Argument As String In Arguments

           Select Case True

               Case Argument.StartsWith("/Switch1=", StringComparison.InvariantCultureIgnoreCase)
                   ' Something = Argument.Substring(Argument.IndexOf("=") + 1)

           End Select

       Next Argument

       If Something Is Nothing Then
           LaunchError(1, "/Switch1")
       End If

   End Sub

   ''' <summary>
   ''' Do something and wait.
   ''' </summary>
   Private Sub DoSomething()

       Do Until Something = "Something Else"
           Application.DoEvents()
       Loop

   End Sub

#End Region

#Region " Miscellaneous Methods "

   ''' <summary>
   ''' Check if the arguments are empty.
   ''' </summary>
   ''' <param name="DebugArguments">Indicates a custom arguments to check.</param>
   Private Function Arguments_Are_Empty(Optional ByVal DebugArguments As IEnumerable(Of String) = Nothing) As Boolean

       Return Not Convert.ToBoolean(If(DebugArguments IsNot Nothing,
                                       DebugArguments.Count,
                                       Environment.GetCommandLineArgs.Skip(1).Count))

   End Function

   ''' <summary>
   ''' Joins the Arguments to return a single String.
   ''' </summary>
   ''' <param name="DebugArguments">Indicates a custom arguments to join.</param>
   Private Function Join_Arguments(Optional ByVal DebugArguments As IEnumerable(Of String) = Nothing) As String

       Return String.Join(Convert.ToChar(Keys.Space),
                          If(DebugArguments IsNot Nothing,
                             DebugArguments,
                             Environment.GetCommandLineArgs.Skip(1)))

   End Function

   ''' <summary>
   ''' Writes colored text on the Console.
   ''' </summary>
   ''' <param name="Text">Indicates the text to write.</param>
   ''' <param name="AddNewLine">Adds an empty line at the end of the text.</param>
   ''' <param name="ForeColor">Indicates the text color.</param>
   ''' <param name="BackColor">Indicates the background color.</param>
   Private Sub Write_Colored_Text(ByVal Text As String,
                                  Optional ByVal AddNewLine As Boolean = False,
                                  Optional ByVal ForeColor As ConsoleColor = Nothing,
                                  Optional ByVal BackColor As ConsoleColor = Nothing)

       Console.ForegroundColor = If(ForeColor = Nothing, Console.ForegroundColor, ForeColor)
       Console.BackgroundColor = If(ForeColor = Nothing, Console.BackgroundColor, BackColor)

       If AddNewLine Then
           Console.WriteLine(Text)
       Else
           Console.Write(Text)
       End If

       Console.ForegroundColor = If(ForeColor = Nothing, Console.ForegroundColor, ForeColor)
       Console.BackgroundColor = If(ForeColor = Nothing, Console.BackgroundColor, BackColor)

   End Sub

   ''' <summary>
   ''' Set the window state of the console.
   ''' </summary>
   ''' <param name="WindowState">Indicates the new state of the console window.</param>
   Public Function SetWindow(ByVal WindowState As ConsoleWindowState.WindowState) As Boolean
       Return ConsoleWindowState.SetWindowState(WindowState)
   End Function

   ''' <summary>
   ''' Print the Help section and exits from the application.
   ''' </summary>
   Private Sub PrintHelp()
       Console.WriteLine(HelpSection.Help)
       Environment.Exit(0) ' Exit succesfully.
   End Sub

   ''' <summary>
   ''' Launch a known error and exits from the application.
   ''' </summary>
   ''' <param name="ErrorID">
   ''' Indicates the known Error Identifier.
   ''' This value is also used to specify the ExitCode.
   ''' </param>
   ''' <param name="MoreInfo">Indicates additional information.</param>
   Private Sub LaunchError(ByVal ErrorID As Integer, Optional ByVal MoreInfo As String = Nothing)

       Console.WriteLine()
       Write_Colored_Text(KnownErrors(ErrorID) &
                          If(MoreInfo IsNot Nothing, ": " & MoreInfo, Nothing),
                          True, ConsoleColor.White, ConsoleColor.DarkRed)

       Environment.Exit(ErrorID) ' Exit with error exitcode.

   End Sub

#End Region

#Region " Event Handlers "

   ' Add here your EventHandlers.

#End Region

End Module


Saludos.
#605



DESCRIPCIÓN:

Mastermusik Manager es una aplicación con el fin de organizar una colección de música de una forma peculiar.

Las opciones que incluye este organizador son:

· Borrar atributos de archivo.

· Convertir cualquier archivo NO MP3 a MP3.
 Cuando se activa esta opción, los archivos no MP3 se convierten a MP3 usando el Bitrate de codificación más cercano al archivo original.

· Específicar un Bitrate máximo.
 Cuando se activa esta opción, se establece un máximo bitrate permitido para todas las canciones,
 cualquier archivo MP3 de bitrate superior al especificado, se re-convertirá al bitrate especificado.

· Eliminar etiquetas ID3v1 e ID3v2.

· Aplicar una gancia NO destructiva (ReplayGain).

· Renombrar archivos a minúscula, mayúscula, etc...

· Renombrar el caracter guión "-" de los archivos.
 Esta opción lo que hace es renombrar el guión unicode por el guión de toda la vida.

· Reparar archivos corruptos.
 Al activar esta opción, se analizarán los archivos (solo los de formato MP3) en busca de corrupciones internas, si se encuentra algun error en el archivo se intentará reparar.

· Reportar coincidencias en el nombre.
 Cuando se activa esta opción, serán reportados los archivos que coincidan con el criterio de búsqueda especificado.

  · Abrir los archivos reportados todos a la vez en programa externo...
    En combinación con la opción de "Reportar coincidencias en el nombre", al terminar el proceso se ejecutará la aplicación externa especificada, pasándole como argumento los nombres de los archivos reportados.

· Eliminar líricas obsoletas.
 Al activar esta opción, se usará el nombre del archivo de la lírica para buscar la canción (con el mismo nombre), si la canción no se encuentra, el lyric se enviará a la papelera de reciclaje.

· Convertir líricas LRC a TXT.
 convierte líricas multimedia a archivos de texto plano.


Nota:
La aplicación depende de varias utilidades commandline, y esto es por una sencilla razón, porque no hay librerías o wrappers parecidos, y porque el tiempo que llevaría desarrollar por mi cuenta dichas librerías en .NET llevaría una vida entera, por no decir que además nunca llegarían a ser utilidades tan perfectas como las desarrolladas por los propios autores, que son los que entienden a la perfección de ese tema específico.


IMÁGENES:

   

   


DEMOSTRACIÓN:


[youtube=720,480]http://www.youtube.com/watch?v=RZwyRhbWNkM[/youtube]


DESCARGA:
http://elektrostudios.tk/MasterMusik%20Manager.zip

Incluye source y compilado.
#607
Hola

Me da la sensación de que le están haciendo un DDOS a la página de elhacker.net, lleva unas 3 o 4 horas mínimo que la navegación funciona lentísima en el foro, acceder a una url cuesta entre 5-10 minutos de espera.

Me pregunto si este individuo (por llamarlo de alguna manera) que atacó la página hace relatívamente poco tendrá algo que ver en el asunto... -> Inzect02

http://foro.elhacker.net/sugerencias_y_dudas_sobre_el_foro/problemas_de_acceso_al_foro-t399535.0.html;msg1889627#msg1889627

Solo lo comento para que no os olvideis de un posible culpable ;)

Un saludo!
#608
A ver, tengo un pequeño lio mental con el método [Enum].Parse, en el cual, según nos cuenta el MSDN, se le puede pasar un parámetro de IgnoreCase:

CitarParse(Type, String, Boolean)

Bien, esto en un principio para mi no tiene lógica alguna, teniendo en cuenta que en VB.NET no se puede escribir una enumeración con nombres duplicados de esta manera:

Código (vbnet) [Seleccionar]
Private Enum Test
   A
   a
End Enum


Pero según he leido, en C# si que es totálmente válido ese tipo de Enums, y entonces esto ya comienza a tener algo de sentido.

El caso es que según me han comentado también sería posible compilar ese tipo de enumeraciones en VB.NET, pero no me han especificado de que manera se podría hacer,
Aunque yo no estoy nada interesado en crear una Enum con valores duplicados la verdad, pero si esto es así de cierto entonces podría significar que las Enums internas del Framework podrían contener nombres de valores "duplicados"?

...en VB.NET, supongamos que hemos escrito una función genérica para parsear un valor de una Enum:
Código (vbnet) [Seleccionar]

Private Function Enum_Parser(Of T)(Value As Object) As T

   Try
       Return [Enum].Parse(GetType(T), Value, True)

   Catch ex As ArgumentException
       Throw New Exception("Value not found")

   Catch ex As Exception
       Throw New Exception(String.Format("{0}: {1}}", ex.Message, ex.StackTrace))

   End Try

End Function


La pregunta es, ¿existe algún riesgo de que la función devuelva un falso positivo?.

O en otras palabras, ¿alguna de las Enums del Framework contiene valores que se diferencian en el StringCase pudiendo dar así un falso positivo?

También me atrevería a preguntar porque alguien sería tan estúpido de poner nombres duplicados en una Enum... pero bueno, imagino que habrá razones válidas y quizás no serán tan estúpidas como pienso.
#609
Hola, necesito encontrar tests de permiso B.

El problema es que es para una persona que no tiene PC, ni sabe manejar un PC, y claro... el 99% de los test online se corrigen de forma interactiva,
Yo necesito Tests donde aparezcan todas las preguntas en la misma página (para imprimir una página por test, no una página por pregunta), y que además se puedan corregir de alguna forma en el mismo papel, imprimiendo las respuestas, o algo así, que no sea interactivo.

Algo como esto: http://www.testautomovil.com/test-9.html donde las preguntas están todas reunidas en una misma página, el problema es que se corrige de forma interactiva, así que no hay forma de imprimir una página con las respuestas.

Un saludo
#614
.NET (C#, VB.NET, ASP) / [SOURCE] Text Affixer
6 Octubre 2013, 18:23 PM






DESCRIPCIÓN:

Bueno, esto es una aplicación dedicada que me pidió un cliente pero el coste económico de la misma fue ridículamente barato y además la aplicación es sencilla (no puedo alardear de ser un experto en el lenguaje) así que sin más no me importa compartir el proyecto para todas aquellas personas a quien le pueda servir de utilidad.

La aplicación sirve para prefijar y sufijar texto, especificando unos delimitadores, llámen a esto prefijar, afijar, marcar, concatenar, o como deseen :P.

En la aplicación se debe cargar un archivo que contiene preguntas con varias respuestas (por poner un ejemplo), luego se carga un archivo adicional con las respuestas que queremos marcar, y por último las marcamos.

La aplicación tiene un menú contextual con opciones los RichTextBoxes y funciones básicas para buscar y resaltar cadenas de texto.

Espero que a alguien poco experimentado con la manipulación de texto le sirva el código, si en un principio la funcionalidad de la aplicación no les sirve siempre pueden adaptarla a sus necesidades.






IMÁGENES:














DEMOSTRACIÓN:


El video hace referencia a una versión beta primeriza:
[youtube=720,480]http://www.youtube.com/watch?feature=player_embedded&v=G2YIMkDkhOQ[/youtube]






DESCARGA:
-> http://elektrostudios.tk/Text%20Affixer.zip
Versión nueva: http://www.mediafire.com/?x78ebamxb6flyfb

Incluye source, compilado, instalador, portable, y portable ofuscado.
#615



DESCRIPCIÓN:

MasterMusik List Generator es una aplicación dedicada que desarrollé por necesidad para un pequeño negocio, no tenia pensado compartir el proyecto porque para la mayoría puede ser una aplicación inservible, pero creo que su funcionalidad principal se puede aprovechar para quien necesite desarrollar una aplicación de características similares, eso sí, hay que tener en cuenta que no es de funcionalidad genérica, es un código hardcodeado a mis necesidades, quizás no les sirva para nada la aplicación si no retocan un poco el código para adaptarlo a sus necesidades.

La aplicación básicamente sirve para listar una colección de archivos de música, líricas, y videoclips:

La estructura de carpetas en la que se basa la aplicación es:

Carpeta de canciones
----Subcarpetas de 1 nivel, que contienen archivos de audio.


Carpeta de líricas que contiene archivos txt o lrc.

Carpeta de videoclips
----Subcarpetas de 1 nivel, que contienen archivos de video.


(Espero que se pueda entender.)


Las listas se generan con una serie de parámetros adicionales (yo lo hago así porque luego necesito implementar las listas en otro escenario).

Esto es un ejemplo de una lista generada:

69 Eyes - We Own The Night;192;03:57;5,52
A City Serene - I Guess It's Curtains For You;192;03:52;5,32
A City Serene - The Escape;192;04:19;5,93
A City Serene - Walk The Plank;192;03:26;4,73
A City Serene - With Swords Crossed;192;03:22;4,64
A Day To Remember - Another Song About The Weekend;230;03:45;6,44
A Day To Remember - Downfall Of Us All;231;03:29;6,02
etc...
etc...
etc...


Los parámetros son (por orden):
Nombre de archivo; BitRate (en KBPS); Duración (en MM:SS); Tamaño (en MegaBytes).



IMÁGENES:






DEMOSTRACIÓN:


[youtube=720,480]http://www.youtube.com/watch?v=QAFe5DBvelw[/youtube]


DESCARGA:
http://elektrostudios.tk/MasterMusik%20List%20Generator.zip

Incluye source y compilado.
#616
Hola

En varias ocasiones he visto a usuarios habituales del foro que casi todos conocemos (no son los típicos novatos) ofreciendo trabajo o recultando

Por ejemplo un usuario llamado $EDU se ofreció una vez para dar clases de Hacking básico, y el post tuvo buen recibimiento por parte de todos (yo incluido), hoy he visto un usuario nuevo que ofrece una oportunidad de trabajo para expertos en temas de seguridad de redes, y mensajes como estos los he visto varias veces.

Y luego también están los típicos usuarios que ofrecen dinero para hackear cuentas de facebook etc... pero quiero dejar constancia de que este tema no va con ninguno de esos lammers.


Creo que sería una oportunidad única para ElHacker para expandirse y hacerse un pequeño hueco (muy pequeño, pero con el tiempo quien sabe) en el area del empleo laboral.

Me gustaría poder ver algún día una sección en el Foro de EHN donde la gente pudiera ofrecer sus conocimientos por un módico incentivo, como dar clases, etc, y donde otro tipo de usuarios pudiesen contratar los servicios de estas personas.

Óbviamente nosotros estamos aquí para ayudar, no para vendernos, pero hay gente que a pesar de toda la ayuda posible no es capaz de realizar una aplicación (u otra cosa), y entonces prefieren contratar los servicios de alguien para resolver el problema, a mi me ha pasado más de una vez en este foro, y pues esa es la idea de la sección que propongo.


Este podría ser un post corriente de una persona cualquiera en esta sección de Empleo imaginaría:

Cita de: Un usuario cualquieraHola se busca programador con conocimientos de Python y pyQT4 para desarrollar una aplicación que me haga "X" tarea, pago bien


Incluso se podrían crear unas reglas para mantener un equilibrio entre estafadores y personas honestas, además de una regla para especificar la estructura en la que se deberá escribir el contenido de un post, y todo esto serviría también para no corromper las reglas actuales de EHN como por ejemplo la regla de NO publicar datos muy personales como el email (yo estaría encantado en pensar todas esas reglas ya que propongo la idea, aunque no sé si yo sería la persona más indicado/experimentada para hacerlo bien):


Este podría ser el mensaje final escrito por un usuario cualquiera con las reglas del tablón ya impuestas y siendo respetadas, el mensaje podría ser tal que así:
Cita de: Un usuario cualquieraNombre....: Pablo
Pais......: España
Ciudad....: Madrid
Requisitos: C/C++
Coste.....: 30 €
Modo Pago.: Paypal
Asunto....:

Hola se busca programador con conocimientos de C/C++ para llevar a cabo una aplicación que envie emails a mi dirección de correo constántemente.

Este podría ser el Body de otro post de Ofertas de trabajo:
Cita de: Un usuario cualquieraNombre....: Jaime
Pais......: España
Ciudad....: Barcelona
Salario...: PREGUNTAR
Modo Pago.: Paypal o Ingreso bancario
Asunto....:

Hola ofrezco mis servicios a todas las personas que estén interesadas

Soy programador, tengo un nivel de conocimientos medio en Java y alto en C#..

Aunque mi especialidad es el Hardware, puedo quedar en persona por la zona de Barcelona para reparar equipos.


Si un usuario estuviera interesado en alguno de los mensajes, podría contestar al post para contestar algo como "Yo puedo ayudarte contacta conmigo por Mensaje Privado amigo", o contactar diréctamente por privado.

Todos los detalles minuciosos de la idea se podrían perfeccionar, la regla de no publicar emails pues es un pequeño fastidio para la fluidez y el desarrollo de la idea en si misma, pero creo que se podrían encontrar alternativas como la de contestar por mensaje privado.

Y esta sección de "Ofertas de trabajo" no estaría destinado sólamente al campo de la programación ni sólamente a contratar servicios, sinó también a ofrecer los servicios y se podrían tratar todos los temas que se tratan en EHN, como el Diseño gráfico, la seguridad wireless, hardware, y en fin absolútamente todo!

¿Se imaginan las posibilidades?.

¿Que les parece la idea a ustedes?.

Saludos!
#618



· Descripcion

CTool es una aplicación por linea de comandos para convertir unidades de tamaño de almacenamiento, bytes, kilobytes, megabytes, gigabytes, terabytes, y petabyte.

Se puede especificar la precisión del factor decimal.



· Modo de empleo




  _______  _______                __
|   _   ||       |.-----..-----.|  |
|.  1___||.|   | ||  _  ||  _  ||  |
|.  |___ `-|.  |-'|_____||_____||__|
|:  1   |  |:  |
|::.. . |  |::.|    Conversion
`-------'  `---'       Tool

By Elektro H@cker



[+] Syntax:

    CTool.exe [Filesize] [From Unit] [To Unit] [Precision]

    * Where Units are: B, KB, MB, GB, TB, PB.


[+] Usage examples:

    # Convert Bytes to Megabytes:
    CTool.exe 446.777.647.104 B MB

    # Convert Bytes to Megabytes with 3 decimal precision:
    CTool.exe 446.777.647.104 B MB 3

    # Convert Megabytes to Kilobytes:
    CTool.exe 44.33 MB KB





· Descarga

http://elektrostudios.tk/CTool.zip

Incluye Source, Compilado e Instalador.
#619



· Descripcion

FileDate es una aplicación por linea de comandos para obtener o modificar los TimeStamps de un archivo, la fecha de creación, de modificación, o de último acceso.

Si conocen la aplicación "FileTouch" entonces se harán una idea mejor, símplemente quise hacer el mismo tipo de programa, pero mejor en todos los sentidos, y extendiendo su funcionalidad.

PD: Bajo el test que he realizado, FileDate es capaz de modificar simultánemanete los tres tipos de fechas de 1.000 archivos de 10 mb cada uno (+9 GigaBytes en total) en aproxímadamente 1,4 Segundos.



· Modo de empleo





   ___   _    _            ___             _
  | __| (_)  | |   ___    |   \    __ _   | |_     ___
  | _|  | |  | |  / -_)   | |) |  / _` |  |  _|   / -_)
  |_|   |_|  |_|  \___|   |___/   \__,_|  _\__|   \___|
                         |"""""|_|"""""|_|"""""|_|"""""|
  By Elektro H@cker    .'`-0-0-'"`-0-0-'"`-0-0-'"`-0-0-'


[+] Syntax:

   FileDate.exe [Action] [Switches] [Date] [File or Directory]

   NOTE: Date Syntax variants can be written as one of these:

   "DD-MM-YYYY"
   "DD/MM/YYYY"
   "DD-MM-YYYY NN"
   "DD/MM/YYYY NN"
   "DD-MM-YYYY NN:NN"
   "DD/MM/YYYY NN:NN"
   "DD-MM-YYYY NN:NN:NN"
   "DD/MM/YYYY NN:NN:NN"


[+] Actions:

   -Get  | Retrieve the date(s) of a file.
   -Set  | Set the date(s) of a file.


[+] Switches:

   /C    | Get or Set Creation Date.
   /M    | Get or Set Modification Date.
   /A    | Get or Set LastAccess Date.
         |
   /R    | Recursive subdirectories (when folder is specified instead file).
   /V    | Display verbose information.
         |
   /?    | Display this help.


[+] Usage examples:

   # Get Creation date of "C:\File.txt":
     -----------------------------------
     FileDate.exe -Get /C "C:\File.txt"

   # Get Creation, Modification and LastAcces date of "C:\File.txt":
     -----------------------------------
     FileDate.exe -Get /C /M /A "C:\File.txt"

   # Set Creation date of "C:\File.txt":
     -----------------------------------
     FileDate.exe -Set /C "01/01/2013 23:59:59" "C:\File.txt"

   # Set Creation and modification date of "C:\File.txt":
     ----------------------------------------------------
     FileDate.exe -Set /C /M "01/01/2013" "C:\File.txt"

   # Set LastAcces Date of all files in "C:\Directory":
     --------------------------------------------------
     FileDate.exe -Set /R /A "01/01/2013" "C:\Directory"

   # Set Creation, Modification and LastAcces Date of all files in "C:\Directory",
     And also displays extended information about the Date changes:
     --------------------------------------------------------------
     FileDate.exe -Set /R /V /C /M /A "01/01/2013" "C:\Directory"




· Descarga

http://elektrostudios.tk/FileDate.zip

Resubido temporálmente, solo el exe compilado.
http://www.mediafire.com/download/662hq99t0h5cn9d/FileDate.exe


Incluye Source, Compilado e Instalador.
#620



· Descripcion

Document Crypter es una utilidad por línea de comandos para proteger documentos de texto importantes y volverlos ininteligible a ojos ajenos.

La aplicación es compatible con las codificaciones de texto más usadas generálmente, no hay problemas con documentos Unicode ni UTF-8, tampoco con los caracteres de nuestro codepage ANSI. pero aún así, no existe ningún método para asegurar al 100% la codificación de un documento, así que como medida de precaución, a la hora de proteger un archivo, justo antes de eliminar la copia original recomiendo desproteger el archivo cifrado símplemente para comprobar que todos los caracteres son correctos.

NOTA: Para quien desee saberlo, el modo de cifrado son símplemente 2 pasadas de BASE64.



· Modo de empleo



[+] Syntax:

   DoCrypt.exe [Switch] [TextFile]


[+] Switches:

   /P (or) /Protect   | Protect text file.
   /U (or) /Unprotect | Unprotect text file.


[+] Usage examples:

   # Protect file:
   DoCrypt.exe /P "Document.txt"

   # Unprotect file:
   DoCrypt.exe /U "Protected Document.txt"




· Demostración

Documento de texto en codificación ANSI:
|---------------------------------------|
| Documento con contraseñas importantes |
|---------------------------------------|

ñáéíóúñ

bla bla bla bla

bla bla bla bla bla bla bla bla

bla bla

bla bla bla

bla bla bla bla


Documento de texto en codificación ANSI, codificado:
ZkMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExYdz0=
ZkNCRWIyTjFiV1Z1ZEc4Z1kyOXVJR052Ym5SeVlYTmw4V0Z6SUdsdGNHOXlkR0Z1ZEdWeklIdz0=
ZkMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExTMHRMUzB0TFMwdExYdz0=

OGVIcDdmUDY4UT09

WW14aElHSnNZU0JpYkdFZ1lteGg=

WW14aElHSnNZU0JpYkdFZ1lteGhJR0pzWVNCaWJHRWdZbXhoSUdKc1lRPT0=

WW14aElHSnNZUT09

WW14aElHSnNZU0JpYkdFPQ==

WW14aElHSnNZU0JpYkdFZ1lteGg=



Documento de texto en codificación ANSI, decodificado:
|---------------------------------------|
| Documento con contraseñas importantes |
|---------------------------------------|

ñáéíóúñ

bla bla bla bla

bla bla bla bla bla bla bla bla

bla bla

bla bla bla

bla bla bla bla


Documento de registro en codificación Unicode:
Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\AC3Filter]

[HKEY_CURRENT_USER\Software\AC3Filter\preset]

[HKEY_CURRENT_USER\Software\AC3Filter\preset\Default]
"formats"=dword:000064e0


Documento de registro en codificación Unicode, codificado:
VgB3AEIAcABBAEcANABBAFoAQQBCAHYAQQBIAGMAQQBjAHcAQQBnAEEARgBJAEEAWgBRAEIAbgBBAEcAawBBAGMAdwBCADAAQQBIAEkAQQBlAFEAQQBnAEEARQBVAEEAWgBBAEIAcABBAEgAUQBBAGIAdwBCAHkAQQBDAEEAQQBWAGcAQgBsAEEASABJAEEAYwB3AEIAcABBAEcAOABBAGIAZwBBAGcAQQBEAFUAQQBMAGcAQQB3AEEARABBAEEA

VwB3AEIASQBBAEUAcwBBAFIAUQBCAFoAQQBGADgAQQBRAHcAQgBWAEEARgBJAEEAVQBnAEIARgBBAEUANABBAFYAQQBCAGYAQQBGAFUAQQBVAHcAQgBGAEEARgBJAEEAWABBAEIAVABBAEcAOABBAFoAZwBCADAAQQBIAGMAQQBZAFEAQgB5AEEARwBVAEEAWABBAEIAQgBBAEUATQBBAE0AdwBCAEcAQQBHAGsAQQBiAEEAQgAwAEEARwBVAEEAYwBnAEIAZABBAEEAPQA9AA==

VwB3AEIASQBBAEUAcwBBAFIAUQBCAFoAQQBGADgAQQBRAHcAQgBWAEEARgBJAEEAVQBnAEIARgBBAEUANABBAFYAQQBCAGYAQQBGAFUAQQBVAHcAQgBGAEEARgBJAEEAWABBAEIAVABBAEcAOABBAFoAZwBCADAAQQBIAGMAQQBZAFEAQgB5AEEARwBVAEEAWABBAEIAQgBBAEUATQBBAE0AdwBCAEcAQQBHAGsAQQBiAEEAQgAwAEEARwBVAEEAYwBnAEIAYwBBAEgAQQBBAGMAZwBCAGwAQQBIAE0AQQBaAFEAQgAwAEEARgAwAEEA

VwB3AEIASQBBAEUAcwBBAFIAUQBCAFoAQQBGADgAQQBRAHcAQgBWAEEARgBJAEEAVQBnAEIARgBBAEUANABBAFYAQQBCAGYAQQBGAFUAQQBVAHcAQgBGAEEARgBJAEEAWABBAEIAVABBAEcAOABBAFoAZwBCADAAQQBIAGMAQQBZAFEAQgB5AEEARwBVAEEAWABBAEIAQgBBAEUATQBBAE0AdwBCAEcAQQBHAGsAQQBiAEEAQgAwAEEARwBVAEEAYwBnAEIAYwBBAEgAQQBBAGMAZwBCAGwAQQBIAE0AQQBaAFEAQgAwAEEARgB3AEEAUgBBAEIAbABBAEcAWQBBAFkAUQBCADEAQQBHAHcAQQBkAEEAQgBkAEEAQQA9AD0A
SQBnAEIAbQBBAEcAOABBAGMAZwBCAHQAQQBHAEUAQQBkAEEAQgB6AEEAQwBJAEEAUABRAEIAawBBAEgAYwBBAGIAdwBCAHkAQQBHAFEAQQBPAGcAQQB3AEEARABBAEEATQBBAEEAdwBBAEQAWQBBAE4AQQBCAGwAQQBEAEEAQQA=


Documento de registro en codificación Unicode, decodificado:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\AC3Filter]

[HKEY_CURRENT_USER\Software\AC3Filter\preset]

[HKEY_CURRENT_USER\Software\AC3Filter\preset\Default]
"formats"=dword:000064e0




· Descarga

http://elektrostudios.tk/DoCrypt.zip

Incluye Código fuente, Compilado, e Instalador.
#621



· Descripcion

RepairShortcuts es una aplicación por linea de comandos para reparar accesos directos cuyo atributo de "Destino" ha sido modificado.

Un ejemplo de acceso directo dañado sería por ejemplo:

· Tenemos un acceso directo donde su atributo de destino apunta a un archivo en "F:\Archivo.txt" pero hemos renombrado la letra de la unidad de destino a "J:\", entonces nuestro archivo ahora está en "J:\Archivo.txt".

Pero si intentamos acceder desde el explorador de Windows clickando manualmente en el acceso directo lo más probable es que Windows arregle el problema automáticamente y actualice la información de los atributos en el propio acceso directo, bien, pues eso es lo mismo que hace esta aplicación, llamo al mismo método que utiliza Windows para reparar/resolver los accesos directos


¿Porque utilizar esta aplicación?

· Por la sencilla razón de automatizar la tarea, puesto que si tienen 1.000 accesos directos, no creo que quieran estar pinchando los 1.000 uno a uno.

· Porque aunque Windows repare el acceso directo cuando accedemos a él, si usamos aplicaciones que requieran acceder a nuestro acceso directo es posible que no puedan resolverlo, ya que no todas llaman a Windows para que resuelva el acceso directo, es conveniente tenerlos todos arreglados.


NOTA: No hay peligro de pérdida de accesos directos, si el mecanismo de Windows no puede resolver un acceso directo, simplemente se omite el archivo.



· Modo de empleo





[+] Syntax:

   RepairShortcuts.exe [Switches] [File or Directory]


[+] Switches:

   /NoUI | Don't display MessageBox if shortcut can't be resolved.
   /R    | Recursive subdirectories.
   /V    | Display verbose information.
         |
   /?    | Display this help.


[+] Usage examples:

   # Repair "C:\Shortcut.lnk" shortcut:

     RepairShortcuts.exe "C:\Shortcut.lnk"

   # Repair all shortcuts in "C:\Directory":

     RepairShortcuts.exe "C:\Directory"

   # Repair all shortcuts in "C:\Directory" without displaying any MessageBox:

     RepairShortcuts.exe /NoUI "C:\Directory"

   # Repair all shortcuts in "C:\" and their subfolders:

     RepairShortcuts.exe /R "C:\Directory"

   # Repair all shortcuts in "C:\Directory" and their subfolders,
     also displays verbose information when reparing,
     and don't display any error MessageBox:

     RepairShortcuts.exe /R /V /NoUI "C:\Directory"




· Demostración

[youtube=640,360]http://www.youtube.com/watch?v=o4hzj44ovhQ[/youtube]



· Descarga

http://elektrostudios.tk/RepairShortcuts.zip

Incluye Source, Compilado e Instalador.
#622


Descripción:

ShellInfo es una aplicación command-line que devuelve información específica de un archivo o de un directorio:

· Ruta absoluta
· Directorio
· Nombre de archivo
· Nombre de carpeta
· Tamaño (en bytes)
· Fecha de creación
· Fecha de Modificación
· Fecha de último acceso
· Lista de archivos

La aplicación está pensada para integrarla en el menú contextual de Windows, aunque también se puede usar de forma manual desde la consola para automatizar otro tipo de tareas.


Demostración:

( ATENCIÓN, ESTE VIDEO ES DE LA ANTIGUA VERSIÓN V1.0 )
[youtube=640,360]http://www.youtube.com/watch?v=nwNnkDDrLJM[/youtube]



Descarga:

Código fuente:

Instalador con integración en el menú contestual de Windows:
#623
Menu en cascada para Windows 8 - Copiar Información



Imágenes:




Opción "Reporte completo" para carpetas:

Nombre de carpeta: Debug

Ruta completa...: C:\Visual Studio Projects\CopyPath\CopyPath\bin\Debug
Letra de unidad.: C:\

Fecha de creación.....: 15/09/2013 16:03:19
Fecha de modificación.: 17/09/2013 8:40:55
Fecha de último acceso: 17/09/2013 8:40:55

Longitud de ruta completa....: 53
Longitud de nombre de carpeta: 5

Tamaño en Bytes....: 155.002 Bytes
Tamaño en Kilobytes: 151,37 KB
Tamaño en Megabytes: 0,15 MB
Tamaño en GigaBytes: 0,00 GB
Tamaño en TeraBytes: 0,00 TB



Opción "Reporte completo" para archivos:

Nombre de archivo: CopyInfo.exe

Ruta completa...: D:\Utilidades\Registros\Menú contextual\CopyInfo.exe Setup\{sys}\CopyInfo.exe
Directorio......: D:\Utilidades\Registros\Menú contextual\CopyInfo.exe Setup\{sys}
Letra de unidad.: D:\

Extensión de archivo: exe
Atributos de archivo: Archive, NotContentIndexed
Versión de archivo..: 1.0.0.0

Fecha de creación.....: 16/09/2013 21:39:42
Fecha de modificación.: 17/09/2013 8:33:01
Fecha de último acceso: 16/09/2013 21:39:42

Longitud de ruta de acceso...: 85
Longitud de directorio.......: 72
Longitud de nombre de archivo: 12

Tamaño en Bytes....: 35.840 Bytes
Tamaño en Kilobytes: 35,00 KB
Tamaño en Megabytes: 0,03 MB
Tamaño en GigaBytes: 0,00 GB
Tamaño en TeraBytes: 0,00 TB



También pueden aprovecharse de su utilización para automatizar otro tipo de tareas, por consola:

Citar ______                      _______         ___
|      |.-----.-----.--.--. |_     _|.-----.'  _|.-----.
|   ---||  _  |  _  |  |  |  _|   |_ |     |   _||  _  |
|______||_____|   __|___  | |_______||__|__|__|  |_____|
             |__|  |_____| By Elektro H@cker


[+] Syntax:

   CopyInfo.exe [Switch] [FILE or FOLDER]


[+] Switches:

   /?            | Display this help
                 |
   /fullname     | Return Full path
   /filename     | Return Filename (including extension)
   /Dir          | Return Directory name
   /Size         | Return Size (In bytes)
   /Attrib       | Return Attributes
   /CreationTime | Return Creation date
   /ModifyTime   | Return Modification date
   /AccessTime   | Return Last access date
   /FullnameLen  | Return Full path length
   /FilenameLen  | Return Filename  length
   /DirLen       | Return Directory length
   /FileList     | Return directory file list
   /FileListRec  | Return directory file list (recursive)
   /Report       | Return a report with all of this and additional info.
                 |
   /C            | Send the info to Clipboard.
                 | NOTE: Use this switch as last argument.


[+] Usage examples:

   Program.exe /fullname ".\File.txt"
   # Returns the full path. (Ex: C:\File.txt)

   Program.exe /fullname ".\File.txt" /C
   # Returns the full path and copy it into Clipboard. (Ex: C:\File.txt)

   Program.exe /drive "C:\File.txt"
   # Returns the drive letter. (Ex: C:\)

   Program.exe /size "C:\File.txt"
   # Returns the size in bytes. (Ex: 100024)



Demostración:

[youtube=640,360]http://www.youtube.com/watch?v=nwNnkDDrLJM[/youtube]



Instrucciones:

1. Descargar el siguiente archivo:

-> Para Windows 8 64 Bit

2. Descomprimirlo, acceder a la carpeta que se llama "Installer", y ejecutar el archivo.



Que lo disfruten!
#624
· Mostrar confirmación al enviar archivos a la papelera de reciclaje


· Descripción:

Por defecto en Windows 8 los archivos se eliminan sin pedir confirmación, para gente despistada o manazas esto puede ser un serio problema.


· Instrucciones:

Ejecutar estos comandos diréctamente en consola:

Código (dos) [Seleccionar]
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /V "ConfirmFileDelete" /T "REG_DWORD" /D "0x00000001" /F
REG DELETE "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer" /V "ConfirmFileDelete" /F







· Desactivar el límite de selección de 15 archivos.


· Descripción:

Cuando seleccionamos más de 15 archivos en el explorador de Windows la mayoría de las opciones del menú contextual desaparecen, si alguna vez te has preguntado porque, es por un límite que tiene impuesto el Sistema operativo.


· Instrucciones:

Ejecutar este comando diréctamente en consola:

Código (dos) [Seleccionar]
REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer" /V "MultipleInvokePromptMinimum" /T "REG_DWORD" /D "0x00002710" /F






· Activar el Modo Dios (GodMode) en el Panel de control


· Descripción:

El Modo Dios no es más que una lista de todas las posibles tareas que puedes realizar, es más o menos como una vista en modo detalles de cada opción de cada grupo del panel de control.


· Instrucciones:

Ejecutar estos comandos diréctamente en consola:

Código (dos) [Seleccionar]
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{D15ED2E1-C75B-443c-BD7C-FC03B2F08C17}" /V  "" /D ".: Modo Dios :." /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{D15ED2E1-C75B-443c-BD7C-FC03B2F08C17}" /V "InfoTip" /T "REG_SZ" /D "Todo lo que Dios puede hacer..." /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{D15ED2E1-C75B-443c-BD7C-FC03B2F08C17}" /V "System.ControlPanel.Category" /T "REG_SZ" /D "5" /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{D15ED2E1-C75B-443c-BD7C-FC03B2F08C17}\DefaultIcon" /V  "" /D "%%SystemRoot%%\\System32\\imageres.dll,-27" /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{D15ED2E1-C75B-443c-BD7C-FC03B2F08C17}\Shell\Open\Command" /V  "" /D "explorer.exe shell:::{ED7BA470-8E54-465E-825C-99712043E01C}" /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ControlPanel\NameSpace\{D15ED2E1-C75B-443c-BD7C-FC03B2F08C17}" /V  "" /D ".: Modo Dios :." /F







· Establecer una código de páginas predeterminado para la CMD


· Descripción:

Un código de página es una codificación o serie de caracteres para un país en particular.
Windows está diseñado para usarse en varios lenguajes y por eso Microsoft inventó los códigos de página (también llamados CodePages) de Windows hace más de dos décadas.

La gente que suele usar Batch, los Batcheros, sobre todo los que se introducen en el lenguaje muchas veces tienen problemas con los caracteres latinos, y no saben porqué ni como solucionarlo, hay varias maneras, pero yo te mustro la más sencilla.


· Instrucciones:

Ejecutar este comando diréctamente en consola:

Código (dos) [Seleccionar]
REG ADD "HKCU\Software\Microsoft\Command Processor" /V "Autorun" /T "REG_SZ" /D "CHCP 1252 1>NUL" /F

NOTA: Si necesitan usar el CodePage por defecto de Windows, recuerden que es el 850.






· Establecer el modo de edición rápida para la CMD


· Descripción:

El modo de edición rápida es una característica que te permite copiar y pegar en la cmd o desde la cmd usando el mouse, esto puede agilizar mucho la tarea.


· Instrucciones:

Guardar el siguiente comando en un archivo .bat y ejecutarlo, si quieren ejecutarlo diréctamente desde la consola deben eliminar los escapes "^":

Código (dos) [Seleccionar]
REG ADD HKCU\Console\^%%SystemRoot^%%_system32_cmd.exe /V "QuickEdit" /T "REG_DWORD" /D "0x00000001" /F






· Deshabilitar la Hibernación de Windows (y eliminar el archivo hibersys)


· Descripción:

Creo que todos sabemos que es el modo hibernación de Windows.


· Instrucciones:

Ejecutar estos comandos diréctamente en consola:

powercfg -h off






· Desactivar la animación GUI del Boot


· Descripción:

Si usas Windows 8 ya te habrás fijado que al prender el PC sale una animación con bolitas blancas que no paran de dar vueltas en circulos,
aquí te muestro como desactivar la animación para evitar sufrir paranoias mentales, ataques de psicosis, y epilepsia de tercer grado.


· Instrucciones:

Ejecutar estos comandos diréctamente en consola:

Código (dos) [Seleccionar]
bcdedit /set {current} quietboot Yes

NOTA: No, por desgracia esto no desactiva la horrible imagen estática del logo de Windows.






· Deshabilitar el contador de intentos fallidos de login


· Descripción:

Windows 8 dispone de algunas medidas exhaustivas para molestar a los pobres usuarios malintencionados que quieren acceder a nuestra cuenta de usuario sin nuestor permiso...

...Una de esas medidas es un contador de intentos fallidos de sesión junto a un bloqueo temporal completo de nuestra cuenta de usuario.

Si crees que no necesitas tanta proteccion entonces puedes desactivar toda o parte de esa porquería.


· Instrucciones:

Ejecutar estos comandos diréctamente en consola:

Código (dos) [Seleccionar]
Echo [+] Desactivar el contador del tiempo de bloqueo de cuenta de usuario
net accounts /lockoutwindow:0

Echo [+] Desactivar la duración de bloqueo de cuenta de usuario
net accounts /lockoutduration:0

Echo [+] Desactivar el contador de intentos inválidos de acceso de cuenta de usuario
net accounts /lockoutthreshold:999







· Deshabilitar la característica AutoPlay de Windows


· Descripción:

AutoPlay es una característica multimedia que inicia automáticamente los menus de los CD's o te pregunta que hacer en cada caso, si te parece una molestia o un riesgo de virus, peudes desactivarlo.


· Instrucciones:

Ejecutar estos comandos diréctamente en la CMD:

Código (dos) [Seleccionar]
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer" /V "NoDriveTypeAutoRun"" /T "REG_DWORD" /D "0x00000001" /F
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers" /V "DisableAutoplay" /T "REG_DWORD" /D "0x00000001" /F







· Añadir opciones para bootear en Modo Seguro en el Boot Loader de windows


· Descripción:

Las opciones de Modo Seguro son unas opciones especiales para iniciar Windows cargando únicamente los componentes más básicos y esenciales del sistema,
el modo seguro se suele utilizar para realizar reparaciones catastróficas del sistema operativo, como eliminar virus, o hacer pruebas del estado de Red.






· Instrucciones:

Guardar el siguiente script en un archivo .bat y ejecutarlo:

@Echo Off & SetLocal EnableDelayedExpansion




REM By Elektro H@cker




::: Customize your safe mode names here:
:::
Set "SafeMode_Description=Windows 8 Modo Seguro"
Set "SafeModeNetrowk_Description=Windows 8 Modo Seguro con funciones de Red"
Set "SafeModeShell_Description=Windows 8 Modo Seguro con Consola"
:::

(
Bcdedit /Enum /V | FINDSTR /I "^Descrip" | FIND /I "%SafeMode_Description%" 1>NUL
) || (
Bcdedit /Copy {current} /D "%SafeMode_Description%" 1>NUL
)

(
Bcdedit /Enum /V | FINDSTR /I "^Descrip" | FIND /I "%SafeModeNetrowk_Description%" 1>NUL
) || (
Bcdedit /Copy {current} /D "%SafeModeNetrowk_Description%" 1>NUL
)

(
Bcdedit /Enum /V | FINDSTR /I "^Descrip" | FIND /I "%SafeModeShell_Description%" 1>NUL
) || (
Bcdedit /Copy {current} /D "%SafeModeShell_Description%" 1>NUL
)

For /F "Tokens=2" %%# in (
'Bcdedit /Enum /V ^| FINDSTR /I "^Identif"'
) do (
SET /A ID_INDEX+=1
Set "ID!ID_INDEX!=%%#"
)

For /F "Tokens=1,*" %%A in (
'Bcdedit /Enum /V ^| FINDSTR /I "^Descrip"'
) do (
SET /A DES_INDEX+=1
Set "DES!DES_INDEX!=%%B"
)

For /L %%X in (1, 1, %ID_INDEX%) do (

If /I "!DES%%X!" EQU "%SafeMode_Description%" (
Bcdedit /Set "!ID%%X!" safeboot Minimal 1>NUL
Bcdedit /Set "!ID%%X!" quietboot Yes    1>NUL
)

If /I "!DES%%X!" EQU "%SafeModeNetrowk_Description%" (
Bcdedit /Set "!ID%%X!" safeboot Network 1>NUL
Bcdedit /Set "!ID%%X!" quietboot Yes    1>NUL
)

If /I "!DES%%X!" EQU "%SafeModeShell_Description%" (
Bcdedit /Set "!ID%%X!" safeboot Minimal           1>NUL
Bcdedit /Set "!ID%%X!" safebootalternateshell Yes 1>NUL
Bcdedit /Set "!ID%%X!" quietboot Yes              1>NUL
)

)

SetLocal DisableDelayedExpansion

TIMEOUT /T 3
Exit








Si les han gustado los "trucos" debo comentarles que conozco muchos más, pero no he querido llenar este post con otros "trucos" que ya he mencionado y compartido a lo largo de todos los años que llevo desmantelando los entresijos de Windows, pero aquí pueden encontrar algunos "Tips" más:

Recopilación Windows 8 (Programas, tips y guías) (Actualizado el 05/11/2012)

Que lo disfruten!
#625
Menu en cascada para Windows 8 - Explorer



Imágenes:





Demostración:

[youtube=640,360]http://www.youtube.com/watch?v=0S5br_5PqrQ[/youtube]



Instrucciones:

1. Descargar el siguiente archivo:

-> Para Windows 8 64 Bit

2. Instalarlo.


Que lo disfruten!
#626
Menu en cascada para Windows 8 - Accesorios de Windows



Imágenes:





Instrucciones:

1. Copiar el siguiente código en el bloc de notas y guardarlo como "Accesorios.cmd"

Código (dos) [Seleccionar]
@Echo OFF

REG ADD "HKEY_CLASSES_ROOT\DesktopBackground\Shell\.Accesorios" /V "MUIVerb" /T "REG_SZ" /D "Accesorios" /F
REG ADD "HKEY_CLASSES_ROOT\DesktopBackground\Shell\.Accesorios" /V "SubCommands" /T "REG_SZ" /D "Bloc de notas;Calculadora;Grabadora de sonidos;Grabacion de acciones;Mapa de caracteres;Notas;Paint;Recortes" /F
REG ADD "HKEY_CLASSES_ROOT\DesktopBackground\Shell\.Accesorios" /V "icon" /T "REG_SZ" /D "imageres.dll,-109" /F
REG ADD "HKEY_CLASSES_ROOT\DesktopBackground\Shell\.Accesorios" /V "position" /T "REG_SZ" /D "Bottom" /F

REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Bloc de notas" /V  "" /D "Bloc de notas" /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Bloc de notas" /V "icon" /T "REG_SZ" /D "notepad.exe" /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Bloc de notas\command" /V  "" /D "notepad.exe" /F

REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Calculadora" /V  "" /D "Calculadora" /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Calculadora" /V "icon" /T "REG_SZ" /D "calc.exe" /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Calculadora\command" /V  "" /D "calc.exe" /F

REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Grabadora de sonidos" /V  "" /D "Grabadora de sonidos" /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Grabadora de sonidos" /V "icon" /T "REG_SZ" /D "SoundRecorder.exe" /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Grabadora de sonidos\command" /V  "" /D "SoundRecorder.exe" /F

REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Grabacion de acciones" /V  "" /D "Grabación de acciones" /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Grabacion de acciones" /V "icon" /T "REG_SZ" /D "psr.exe" /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Grabacion de acciones\command" /V  "" /D "psr.exe" /F

REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Mapa de caracteres" /V  "" /D "Mapa de caracteres" /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Mapa de caracteres" /V "icon" /T "REG_SZ" /D "charmap.exe" /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Mapa de caracteres\command" /V  "" /D "charmap.exe" /F

REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Notas" /V  "" /D "Notas" /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Notas" /V "icon" /T "REG_SZ" /D "StikyNot.exe" /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Notas\command" /V  "" /D "StikyNot.exe" /F

REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Paint" /V  "" /D "Paint" /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Paint" /V "icon" /T "REG_SZ" /D "mspaint.exe" /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Paint\command" /V  "" /D "mspaint.exe" /F

REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Recortes" /V  "" /D "Recortes" /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Recortes" /V "icon" /T "REG_SZ" /D "SnippingTool.exe" /F
REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\CommandStore\shell\Recortes\command" /V  "" /D "SnippingTool.exe" /F


2. Ejecutar el archivo.


Que lo disfruten!
#627
Menu en cascada para Windows 8 - Personalizar



Imágenes:





Instrucciones:

1. Descargar el siguiente archivo:

-> Para Windows 8 32 Bit
-> Para Windows 8 64 Bit

2. Instalarlo.

NOTA: Este menú únicamente funciona en Windows 8 64 Bits, si quieren utilizarlo en Windows 8 x86 deben desempaquetar el instalador con la utilidad "InnoUnp" y modificar en el script el parámetro del modo de instalación de la arquitectura (ArchitecturesInstallIn64BitMode) además de usar la aplicación SetACL para 32 Bit y corregir las claves de registro del DESinstalador en la sección [RUN].

Que lo disfruten!
#628
Menu en cascada para Windows 8 - Permisos de usuario



Imágenes:

   





Instrucciones:

1. Descargar el siguiente archivo:

-> Para Windows 8 32 Bit  NOTA: El instalador de 32 Bit no lo he testeado lo suficiente, el menú podría no mostrarse corréctamente.
-> Para Windows 8 64 Bit  NOTA: FIXED!

2. Instalarlo.


Que lo disfruten!
#629
Menu en cascada para Windows 8 - Reiniciar equipo



Imágenes:

   



Instrucciones:

1. Descargar el siguiente archivo:

-> Para Windows 8 32 Bit

FIXED:
-> Para Windows 8 64 Bit

2. Instalarlo.


Que lo disfruten!
#630
Menu en cascada para Windows 8 - Seleccionar



Imágenes:

   





Instrucciones:

1. Copiar el siguiente código en el bloc de notas y guardarlo como "Select.cmd"

Código (dos) [Seleccionar]

@Echo OFF
REM By Elektro H@cker

REG ADD "HKCR\*\shell\Seleccionar" /V "MUIVerb" /T "REG_SZ" /D "Seleccionar" /F
REG ADD "HKCR\*\shell\Seleccionar" /V "icon" /T "REG_SZ" /D "imageres.dll,-5308" /F
REG ADD "HKCR\*\shell\Seleccionar" /V "position" /T "REG_SZ" /D "middle" /F
REG ADD "HKCR\*\shell\Seleccionar" /V "SubCommands" /T "REG_SZ" /D "Windows.selectall;Windows.selectnone;Windows.invertselection" /F

REG ADD "HKCR\Folder\shell\Seleccionar" /V "MUIVerb" /T "REG_SZ" /D "Seleccionar" /F
REG ADD "HKCR\Folder\shell\Seleccionar" /V "position" /T "REG_SZ" /D "middle" /F
REG ADD "HKCR\Folder\shell\Seleccionar" /V "icon" /T "REG_SZ" /D "imageres.dll,-5308" /F
REG ADD "HKCR\Folder\shell\Seleccionar" /V "SubCommands" /T "REG_SZ" /D "Windows.selectall;Windows.selectnone;Windows.invertselection" /F

REG ADD "HKCR\Directory\Background\shell\Seleccionar" /V "MUIVerb" /T "REG_SZ" /D "Seleccionar" /F
REG ADD "HKCR\Directory\Background\shell\Seleccionar" /V "position" /T "REG_SZ" /D "middle" /F
REG ADD "HKCR\Directory\Background\shell\Seleccionar" /V "icon" /T "REG_SZ" /D "imageres.dll,-5308" /F
REG ADD "HKCR\Directory\Background\shell\Seleccionar" /V "SubCommands" /T "REG_SZ" /D "Windows.selectall" /F

REG ADD "HKCR\LibraryFolder\Background\shell\Seleccionar" /V "MUIVerb" /T "REG_SZ" /D "Seleccionar" /F
REG ADD "HKCR\LibraryFolder\Background\shell\Seleccionar" /V "position" /T "REG_SZ" /D "middle" /F
REG ADD "HKCR\LibraryFolder\Background\shell\Seleccionar" /V "icon" /T "REG_SZ" /D "imageres.dll,-5308" /F
REG ADD "HKCR\LibraryFolder\Background\shell\Seleccionar" /V "SubCommands" /T "REG_SZ" /D "Windows.selectall;Windows.selectnone;Windows.invertselection" /F


2. Ejecutar el archivo.

Que lo disfruten!