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ú

Mensajes - Eleкtro

#5471
1. ¿Qué Windows tienes?.

2. Según un ayudante del soporte de Microsoft, no es posible desactivar la característica de "Ayuda y soporte de Windows" (el popup que te aparece), pero puedes intentar otras cosas que se mencionan aquí:
http://answers.microsoft.com/en-us/windows/forum/windows_vista-performance/how-to-disable-windows-help-and-support-pop-up/751e7e91-39d1-4dd3-938d-7260a912f1bf

Saludos!

#5472
Cita de: vmsi1973 en 26 Marzo 2015, 08:51 AMseguramente algun hacker podria hacer eso...xd

Has visto demasiadas películas de Hollywood :P

Desde mayo del 2009 solo se conoce, al menos publicamente, un ataque exitoso a AES (aunque no se si se consiguió craquear una llave de 128, 192, o 256).

Saludos!
#5473
Usando LINQ, una forma de hacerlo sería agrupar los valores por su último número y seleccionar el primer elemento de cada grupo para descartar los demás valores que acaben con el mismo número:

Código (vbnet) [Seleccionar]
       Dim values As IEnumerable(Of Integer) =
                  {
                      1, 3, 4, 6, 7, 8, 9, 20, 22, 28, 35
                  }

       Dim selectedValues As IEnumerable(Of Integer) =
           From value As Integer In values
           Group By CStr(value).Last Into Group
           Select Group.First
           Take 10

       Me.ListBox1.Items.AddRange(selectedValues.Cast(Of Object).ToArray)


Output:
1, 3, 4, 6, 7, 8, 9, 20, 22, 35

Saludos
#5474
Este snippet sirve para añadir o eliminar de forma muuuuuy sencilla :P un archivo/aplicación al Startup de Windows mediante el registro, con características interesantes...

Modo de empleo:
Código (vbnet) [Seleccionar]
WinStartupUtil.Add(UserType.CurrentUser, StartupType.Run, KeyBehavior.System32,
                   title:="Application Title",
                   filePath:="C:\Application.exe",
                   arguments:="/Arguments",
                   secureModeByPass:=True)


Código (vbnet) [Seleccionar]
WinStartupUtil.Remove(UserType.CurrentUser, StartupType.Run, KeyBehavior.System32,
                      title:="Application Title",
                      throwOnMissingValue:=True)



Source:
Código (vbnet) [Seleccionar]
' ***********************************************************************
' Author   : Elektro
' Modified : 25-March-2015
' ***********************************************************************
' <copyright file="WinStartupUtil.vb" company="Elektro Studios">
'     Copyright (c) Elektro Studios. All rights reserved.
' </copyright>
' ***********************************************************************

#Region " Usage Examples "

'WinStartupUtil.Add(WinStartupUtil.UserType.CurrentUser,
'                   WinStartupUtil.StartupType.Run,
'                   WinStartupUtil.KeyBehavior.System32,
'                   title:="Application Title",
'                   filePath:="C:\Application.exe",
'                   secureModeByPass:=True)

'WinStartupUtil.Remove(WinStartupUtil.UserType.CurrentUser,
'                      WinStartupUtil.StartupType.Run,
'                      WinStartupUtil.KeyBehavior.System32,
'                      title:="Application Title",
'                      throwOnMissingValue:=True)

#End Region

#Region " Option Statements "

Option Explicit On
Option Strict On
Option Infer Off

#End Region

#Region " Imports "

Imports Microsoft.Win32

#End Region

#Region " WinStartupUtil "


''' <summary>
''' Adds or removes an application to Windows Startup.
''' </summary>
Public NotInheritable Class WinStartupUtil

#Region " Properties "

   ''' <summary>
   ''' Gets the 'Run' registry subkey path.
   ''' </summary>
   ''' <value>The 'Run' registry subkey path.</value>
   Public Shared ReadOnly Property RunSubKeyPath As String
       Get
           Return "Software\Microsoft\Windows\CurrentVersion\Run"
       End Get
   End Property

   ''' <summary>
   ''' Gets the 'Run' registry subkey path for x86 appications on x64 operating system.
   ''' </summary>
   ''' <value>The 'Run' registry subkey path for x86 appications on x64 operating system.</value>
   Public Shared ReadOnly Property RunSubKeyPathSysWow64 As String
       Get
           Return "Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Run"
       End Get
   End Property

   ''' <summary>
   ''' Gets the 'RunOnce' registry subkey path.
   ''' </summary>
   ''' <value>The 'RunOnce' registry subkey path.</value>
   Public Shared ReadOnly Property RunOnceSubKeyPath As String
       Get
           Return "Software\Microsoft\Windows\CurrentVersion\RunOnce"
       End Get
   End Property

   ''' <summary>
   ''' Gets the 'RunOnce' registry subkey path for x86 appications on x64 operating system.
   ''' </summary>
   ''' <value>The 'RunOnce' registry subkey path for x86 appications on x64 operating system.</value>
   Public Shared ReadOnly Property RunOnceSubKeyPathSysWow64 As String
       Get
           Return "Software\Wow6432Node\Microsoft\Windows\CurrentVersion\RunOnce"
       End Get
   End Property

#End Region

#Region " Enumerations "

   ''' <summary>
   ''' Specifies an user type.
   ''' </summary>
   Public Enum UserType As Integer

       ''' <summary>
       ''' 'HKEY_CURRENT_USER' root key.
       ''' </summary>
       CurrentUser = &H1

       ''' <summary>
       ''' 'HKEY_LOCAL_MACHINE' root key.
       ''' </summary>
       AllUsers = &H2

   End Enum

   ''' <summary>
   ''' Specifies a Startup type.
   ''' </summary>
   Public Enum StartupType As Integer

       ''' <summary>
       ''' 'Run' registry subkey.
       ''' </summary>
       Run = &H1

       ''' <summary>
       ''' 'RunOnce' registry subkey.
       ''' </summary>
       RunOnce = &H2

   End Enum

   ''' <summary>
   ''' Specifies a registry key behavior.
   ''' </summary>
   Public Enum KeyBehavior As Integer

       ''' <summary>
       ''' System32 registry subkey.
       ''' </summary>
       System32 = &H1

       ''' <summary>
       ''' SysWow64 registry subkey.
       ''' </summary>
       SysWow64 = &H2

   End Enum

#End Region

#Region " Public Methods "

   ''' <summary>
   ''' Adds an application to Windows Startup.
   ''' </summary>
   ''' <param name="userType">The type of user.</param>
   ''' <param name="startupType">The type of startup.</param>
   ''' <param name="keyBehavior">The registry key behavior.</param>
   ''' <param name="title">The registry value title.</param>
   ''' <param name="filePath">The application file path.</param>
   ''' <param name="secureModeByPass">
   ''' If set to <c>true</c>, the file is ran even when the user logs into 'Secure Mode' on Windows.
   ''' </param>
   ''' <exception cref="System.ArgumentNullException">title or filePath</exception>
   Public Shared Sub Add(ByVal userType As UserType,
                         ByVal startupType As StartupType,
                         ByVal keyBehavior As KeyBehavior,
                         ByVal title As String,
                         ByVal filePath As String,
                         Optional ByVal arguments As String = "",
                         Optional secureModeByPass As Boolean = False)

       If String.IsNullOrEmpty(title) Then
           Throw New ArgumentNullException("title")

       ElseIf String.IsNullOrEmpty(filePath) Then
           Throw New ArgumentNullException("filePath")

       Else
           If secureModeByPass Then
               title = title.Insert(0, "*")
           End If

           Dim regKey As RegistryKey = Nothing
           Try
               regKey = GetRootKey(userType).OpenSubKey(GetSubKeyPath(startupType, keyBehavior), writable:=True)
               regKey.SetValue(title, String.Format("""{0}"" {1}", filePath, arguments), RegistryValueKind.String)

           Catch ex As Exception
               Throw

           Finally
               If regKey IsNot Nothing Then
                   regKey.Close()
               End If

           End Try

       End If

   End Sub

   ''' <summary>
   ''' Removes an application from Windows Startup.
   ''' </summary>
   ''' <param name="userType">The type of user.</param>
   ''' <param name="startupType">The type of startup.</param>
   ''' <param name="keyBehavior">The registry key behavior.</param>
   ''' <param name="title">The value name to find.</param>
   ''' <param name="throwOnMissingValue">if set to <c>true</c>, throws an exception on missing value.</param>
   ''' <exception cref="System.ArgumentNullException">title</exception>
   ''' <exception cref="System.ArgumentException">Registry value not found.;title</exception>
   Friend Shared Sub Remove(ByVal userType As UserType,
                            ByVal startupType As StartupType,
                            ByVal keyBehavior As KeyBehavior,
                            ByVal title As String,
                            Optional ByVal throwOnMissingValue As Boolean = False)

       If String.IsNullOrEmpty(title) Then
           Throw New ArgumentNullException("title")

       Else
           Dim valueName As String = String.Empty
           Dim regKey As RegistryKey = Nothing

           Try
               regKey = GetRootKey(userType).OpenSubKey(GetSubKeyPath(startupType, keyBehavior), writable:=True)

               If regKey.GetValue(title, defaultValue:=Nothing) IsNot Nothing Then
                   valueName = title

               ElseIf regKey.GetValue(title.Insert(0, "*"), defaultValue:=Nothing) IsNot Nothing Then
                   valueName = title.Insert(0, "*")

               Else
                   If throwOnMissingValue Then
                       Throw New ArgumentException("Registry value not found.", "title")
                   End If

               End If

               regKey.DeleteValue(valueName, throwOnMissingValue:=throwOnMissingValue)

           Catch ex As Exception
               Throw

           Finally
               If regKey IsNot Nothing Then
                   regKey.Close()
               End If

           End Try

       End If

   End Sub

#End Region

#Region " Private Methods "

   ''' <summary>
   ''' Gets a <see cref="RegistryKey"/> instance of the specified root key.
   ''' </summary>
   ''' <param name="userType">The type of user.</param>
   ''' <returns>A <see cref="RegistryKey"/> instance of the specified root key.</returns>
   ''' <exception cref="System.ArgumentException">Invalid enumeration value.;userType</exception>
   Private Shared Function GetRootKey(ByVal userType As UserType) As RegistryKey

       Select Case userType

           Case userType.CurrentUser
               Return Registry.CurrentUser

           Case userType.AllUsers
               Return Registry.LocalMachine

           Case Else
               Throw New ArgumentException("Invalid enumeration value.", "userType")

       End Select ' userType

   End Function

   ''' <summary>
   ''' Gets the proper registry subkey path from the parameters criteria.
   ''' </summary>
   ''' <param name="startupType">Type of the startup.</param>
   ''' <param name="keyBehavior">The key behavior.</param>
   ''' <returns>The registry subkey path.</returns>
   ''' <exception cref="System.ArgumentException">
   ''' Invalid enumeration value.;startupType or
   ''' Invalid enumeration value.;keyBehavior
   ''' </exception>
   Private Shared Function GetSubKeyPath(ByVal startupType As StartupType,
                                         ByVal keyBehavior As KeyBehavior) As String

       Select Case keyBehavior

           Case keyBehavior.System32

               Select Case startupType

                   Case startupType.Run
                       Return RunSubKeyPath

                   Case startupType.RunOnce
                       Return RunOnceSubKeyPath

                   Case Else
                       Throw New ArgumentException("Invalid enumeration value.", "startupType")

               End Select ' startupType

           Case keyBehavior.SysWow64

               Select Case startupType

                   Case startupType.Run
                       Return RunSubKeyPathSysWow64

                   Case startupType.RunOnce
                       Return RunOnceSubKeyPathSysWow64

                   Case Else
                       Throw New ArgumentException("Invalid enumeration value.", "startupType")

               End Select ' startupType

           Case Else
               Throw New ArgumentException("Invalid enumeration value.", "keyBehavior")

       End Select ' keyBehavior

   End Function

#End Region

End Class

#End Region
#5475
Buenas

Cita de: Mikel´s en 25 Marzo 2015, 16:17 PMno es tarea, no tengo codigo, mejor dicho, no se de programación, solo quería si era posible que alguien me echara la mano al respecto. no se si alguien seria tan amable...

de todas maneras voy a empezar a aprender la programación porque veo que me es util..

Se considera una tarea puesto que buscas que te den hecho todo el código sin poner ningún esfuerzo por tu parte en el desarrollo del mismo, pero nosotros, quiero decir los usuarios del foro, estamos para orientar y ayudar a resolver problemas específicos;
en muchos casos también aportamos códigos ya sean pequeños o extensos para mostrar soluciones a un problema, pero de ahí a hacerle por la cara un proyecto/aplicación entero a alguien eso no estaría bien cómo comprenderás, ya que sería aprovecharse del esfuerzo ajeno y esa persona no habría conseguido que aprendieses nada,
pero bueno, dejémoslo estar así si realmente tienes ganas de aprender... :)




Ya que no tienes preferencia por ningún lenguaje de programación, te muestro un ejemplo en VB.Net, cómo te comenté es algo muy sencillo en este lenguaje de programación (en C# es practicamente lo mismo pero utilizando otra sintaxis),
este Snippet monitorea los archivos entrantes del directorio que hay especificado, me suscribo el evento 'FileSystemWatcher.Created' que se dispara para notificar el archivo, y con él hago "lo que quiera" cómo por ejemplo ejecutarlo:

Código (vbnet) [Seleccionar]
Imports System.IO

Public Class Form1

   Private WithEvents fsw As New FileSystemWatcher With
       {
           .Path = "C:\Directory\",
           .Filter = "*.*",
           .IncludeSubdirectories = False,
           .NotifyFilter = NotifyFilters.FileName,
           .EnableRaisingEvents = True
       }

   Private Sub fsw_Created(ByVal sender As Object, ByVal e As FileSystemEventArgs) _
   Handles fsw.Created

       Debug.WriteLine(String.Format("Incoming file intercepted: '{0}'", e.Name))

       Select Case Path.GetExtension(e.Name).ToLower

           Case ".mp3", ".ogg", ".wav"
               Process.Start("C:\Ruta del reproductor.exe", ControlChars.Quote & e.FullPath & ControlChars.Quote)

           Case ".jpg", ".jpeg"
               Process.Start("C:\Ruta del visualizador.exe", ControlChars.Quote & e.FullPath & ControlChars.Quote)

       End Select

   End Sub

End Class


Si prefieres abrir los archivos con el programa asociado por defecto, entonces simplemente pásale el nombre completo del archivo cómo primer parámetro al método Process.Start() y deja vacio el segundo parámetro.

PD: Si tienes dudas sobre las herramientas que son necesarias para compilar el código de arriba, no dudes en preguntar, pero entonces trata de publicar tú pregunta en el subforo dedicado a la programación .Net.

Saludos!
#5476
Lo que parece ser que buscas es un administrador de hotkeys con el que poder registrar una combinación de teclas a la que le puedas asignar una serie de acciones cuando sea pulsada dicha combinación, y teniendo en cuenta que en esas acciones soportadas por ese Software se encuentren las acciones que necesitas de "activar ventana" (es decir, actvar el foco de una ventana localizándola mediante un Título, Handle, o PID) y "enviar keystrokes" (simular pulsaciones del teclado) ...pues, aunque todo es cuestión de buscar a fondo, parece dificil encontrar un Software con tantas características específicas rehunidas.

Mediante programación lo podrías hacer tu mismo, depende del lenguaje y de tus conocimientos, no requeriría mucho esfuerzo.

PD: Si quieres intertarlo por la vía facil entonces podrías usar el lenguaje AutoHotkey, que está orientado a la automatización de tareas por Macros (y es capaz de registrar un Hotkey global), aunque yo cómo de costumbre recomiendo VB.Net/C# ...que también es facil llevarlo a cabo.

EDITO:
http://www.hotkeymaster.com/
Prueba la característica "Window" y "Keyboard Macro" ;)

Saludos!
#5477
Buenas!

Para empezar, hay algunos errores en ese documento XML cómo para poder parsearlo.

1. El CDATA de tu documento XML lo tienes mal cerrado en </detalles>]> sería así: </detalles>]]>

2. Los elementos <infoTributaria> y <factura> no los cierras en la expresión literal.

Una vez hayas corregido esos fallos ...y de paso no te vendría nada mal formatear/indentar el código para hacerlo minimanete legible al ojo humano y así además evitar en el futuro ese tipo de errores que he mencionado,
te quedaía más o menos un documento así:

Código (xml) [Seleccionar]
<?xml version="1.0" encoding="UTF-8"?>
<autorizacion>
<estado>AUTORIZADO</estado>
<numeroAutorizacion>1703201515411617921521270013730687438</numeroAutorizacion>
<fechaAutorizacion>2015-03-17T15:41:16.486-05:00</fechaAutorizacion>
<comprobante>
<![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<factura id="comprobante" version="1.0.0">
<infoTributaria>
<ambiente>2</ambiente>
<tipoEmision>1</tipoEmision>
<razonSocial>UNNOCYCLES CIA. LTDA.</razonSocial>
<nombreComercial>UNNOCYCLES CIA. LTDA.</nombreComercial>
<ruc>1792152127001</ruc>
<detalles>
<detalle>
<codigoPrincipal>5132</codigoPrincipal>
<codigoAuxiliar>FX150FM-BLA</codigoAuxiliar>
<descripcion> MOTO  FX 150  FORTE BLANCO  MOTOR UNO</descripcion>
<cantidad>2</cantidad>
<precioUnitario>1887.11</precioUnitario>
<descuento>1889.76</descuento>
<precioTotalSinImpuesto>1884.46</precioTotalSinImpuesto>
<impuestos>
<impuesto>
<codigo>2</codigo>
<codigoPorcentaje>2</codigoPorcentaje>
<tarifa>12.00</tarifa>
<baseImponible>1884.46</baseImponible>
<valor>226.14</valor>
</impuesto>
</impuestos>
</detalle>
</detalles>
</infoTributaria>
</factura>
]]>
</comprobante>
</autorizacion>


Ahora, solo debes cargar el documento corregido, y cargar la expresión literal cómo si fuese un documento XML adicional, y ya podrás parsear sus nodos/elementos cómo en este ejemplo:

Código (vbnet) [Seleccionar]
        ' Valor literal.
        Dim cdataValue As String = XDocument.Load("C:\Doc.xml").
                                   <autorizacion>.<comprobante>.First.Value.
                                   Trim({" "c, ControlChars.Lf, ControlChars.Tab})

        ' Documento XML desde un valor literal.
        Dim xDoc As XDocument = XDocument.Parse(cdataValue)

        Dim sb As New System.Text.StringBuilder
        With sb
            .AppendFormat("Ambiente....: {0}", xDoc.<factura>.<infoTributaria>.<ambiente>.Value)
            .AppendLine()

            .AppendFormat("Razón.Social: {0}", xDoc.<factura>.<infoTributaria>.<razonSocial>.Value)
            .AppendLine()

            .AppendFormat("Descripción.: {0}", xDoc.<factura>.<infoTributaria>.<detalles>.<detalle>.<descripcion>.Value.Trim(" "c))
        End With

        Trace.WriteLine(sb.ToString)


Saludos
#5478
· ¿Donde está tú código? (aquí no se hacen tareas)

· ¿En que lenguaje de programación?

PD: En C#/VB.Net puedes utilizar la Class FileSystemWatcher que sirve especificamente para monitorear los archivos entrantes de un directorio de forma sutil y eficiente,
en otros lenguajes sería distinto, no tiene por que ser ni más fácil ni más dificil, solo distinto, es una tarea sencilla.
https://msdn.microsoft.com/es-es/library/system.io.filesystemwatcher%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

Saludos!
#5479
1. El tal Spyware Terminator es un producto gratuito, muy mediocre, y con bajos índices de detección que está orientado al spyware con una pobre protección viral adicional, ese programa de poco te sirve en comparación con otros programas comerciales que ya he mencionado.

· ¿Tienes un AntiVirus eficiente instalado en tú sistema?,
en caso afirmativo ...¿Cual?, y salta al siguiente punto,
en caso negativo, desinstala completamente 'Spyware Terminator' para reemplazarlo, te recomiendo utilizar Malware-Bytes AntiMalware , o Avira , o NOD32, cualquiera de ellos.

2. ¿Has realizado en tu equipo algún escaneo profundo de virus con las firmas de virus actualizadas a la fecha actual?,
en caso afirmativo, y suponiendo que el resultado del escaneo haya sido favorable, salta al siguiente punto,
en caso negativo, no vale la pena seguir este tema hasta que realices una verificación con un software anti-viral que sea medianamente eficiente.

3. ¿Si reinicias tu equipo en 'Modo Seguro', siguen ocurriendo los problemas de saturación de red que has mencionado?,
en caso afirmativo, comenta si notas cualquier diferencia en los síntomas que pueda ser de utilidad para localizar el motivo del problema, y salta al siguiente punto,
en caso negativo, con mucha probabilidad puede ser síntoma de una infección de software malicioso y te sugiero volver a leer el primer punto, aunque también podría deberse a conflictos por drivers u otros servicios y/o procesos del sistema.

4. He leido varios comentarios en los cuales afirman que 'Spyware Terminator' disminuye notablemente el rendimiento general del equipo, y además, en tu log parece tener activo un proceso que estaría solicitando y/o recibiendo actualizaciones constantemente o cada "X" intervalos.

· ¿Si desinstalas el tal 'Spyware Temrinator', siguen ocurriendo los problemas de saturación de red que has mencionado?.
en caso afirmativo, comenta si notas cualquier diferencia en los síntomas que pueda ser de utilidad para localizar el motivo del problema,
en caso negativo, ya has dado con el origen del problema.

Saludos!
#5480
.NET (C#, VB.NET, ASP) / Re: DLL en c#
24 Marzo 2015, 06:54 AM
Cita de: elvehe en 23 Marzo 2015, 23:17 PMpero cuando estoy usandolo en otro proyecto y ocurre una excepcion no controlada el depurador de visual me manda al codigo de donde ocurrio la exepcion en el dll.

Tú mismo te estás respondiendo, eres tú quien tiene VS instalado y quien tiene el depurador de VS adjuntado, por ese motivo se te muestra el código fuente que ha generado la excepción.

Cualquier otro PC que no disponga de VS instalado y que no tenga activado/adjuntado el depurador de VS en el S.O, y que además no disponga de los archivos de base de datos de depuración (PDB) entonces no debería poder acceder de forma accidental al código fuente del ensamblado al generarse una excepción,
y digo de forma "accidental" por que el código fuente siempre será accesible para cualquier persona que tuviese un conocimiento básico sobre ingenieria inversa mediante Reflection (hay herramientas que facilitan la tarea, como .Net Reflector), a menos que protejas el código mediante empaquetado u ofuscación y esa persona no sea capaz de encontrar la forma de revertir dicha protección.

Cita de: elvehe en 23 Marzo 2015, 23:17 PM¿acaso tengo que controlar todas los errores de ejecucion en mi dll antes de generarlo, para que quienes lo usen no puedan acceder al codigo?

Pues... hombre, si el código que estás manipulando lanza una excepción entonces desde luego que algo hay mal y eso significa que deberías tratar de corregirlo y/o controlar la excepción, todas las excepciones que haya y además las excepciones que puedas preveer, claro está.

De todas formas, y aunque estas técnicas no te las aconsejo EN ABSOLUTO por ser motivo de MUY malas prácticas de programación:

· En Vb.Net puedes ignorar las excecpciones de un bloque de código específico usando la declaración "On Error" (On Error Resume Next), en C# creo que no existe un equivalente.

· Puedes controlar todas las excepciones de un proyecto, suscribiéndote a los siguientes eventos de la aplicación:
AppDomain.CurrentDomain.FirstChanceException, AppDomain.CurrentDomain.UnhandledExceptiony Application.ThreadException,
pero ten en cuenta que la ejecución se seguirá deteniendo al encontrar una excepción, y se seuirá reportando la excepción.
Es algo muy sencillo pero si quieres un mayor control puedes hacer lo mismo con la librería NByg: https://nbug.codeplex.com/

· Otra alternativa para ignorar las excepciones sería ejecutar todos los bloques de código pasando las instrucciones cómo parámetro de un método que recibiese cómo parámetro una expresión Lambda, por ejemplo:
Código (vbnet) [Seleccionar]
    Public Shared Sub IgnoreExceptions(ByVal action As Action)

        Try
            action.Invoke()

        Catch ex As Exception
            MessageBox.Show(ex.Message)

        End Try

    End Sub

    Private Sub Test()

        IgnoreExceptions(Sub()
                             IO.File.Open("", IO.FileMode.Open)
                         End Sub)

    End Sub


· Por último, otra alternativa para ignorar todas las excepciones, y mi favorita (aunque nunca he tratado de hacerlo de esta manera), sería utilizando técnicas del paradigma AOP (Aspect Oriented Programming),
te recomiendo utilizar la librería PostSharp para facilitar dicha tarea, para decorar el código fuente de tal manera que puedas añadir atributos (o Aspects) a un método para ignorar las excepciones.
Aquí tienes un ejemplo: http://www.rhyous.com/2012/06/15/aop-implementing-try-catch-in-csharp-with-postsharp/

PD: No se si con la versión gratuita de PostSharp se podrá hacer.

Saludos