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

#2201
Cita de: Orubatosu en  2 Junio 2017, 18:23 PM
Porque te engañan y te dan mas vueltas, por eso los vuelos duran mas o menos gastando carburante para engañarte

Y si, todos los marinos del mundo, incluyendo los particulares forman parte de la sociedad secreta. la "Sociedad secreta masónica de los mercantes, cruceristas y pescadores de chanquetes"

No veas lo que hay que pagar para que todos tengan la boca cerrada XD

Eres muy cansino con ese tema Orubatosu, lo repites una y otra vez. Si quieres verlo así, pues adelante, pero sabes perfectamente que ningún terraplanista insinua algo así... ni ninguna persona seria. Muchas veces la exageración y sacar fuera de contexto las cosas es la forma que tienes de defender tu punto de vista, por no decir que directamente lo que haces es intentar ridiculizar la opinión contraria a la tuya, a tu heliocentrismo, afirmando cosas falsas como que los terraplanistas dicen que todos los profesionales de las compañias aereas y marítimas de viajes hacen lo que hacen por que están todos compinchados en una conspiración a escala mundial... cuando eso te lo inventas tú solito, y sino muéstrame a alguen que realmente haya dicho eso ;). Venga por favor, basta ya de decir gilipolleces, creo que si respetases el debate científico tanto como la cantidad de cosas que sabes de ciencia, es decir sin recurrir a la burla para ofender al personal, entonces ganarías mucho como persona y como alguien que sabe de ciencia.

¿Tú sabes cuando le enseñas un objeto a un niño por primera vez, y le dices que sirve para hacer tal cosa y luego le enseñas a usarlo?, pues bien, simplemente imagina que a ese niño le has enseñado mal por que estabas equivocado (pero tu no eres consciente de tu error), así que ese niño también estará equivocado (y tampoco será consciente de su error), por ende ambos llevarán a cabo una práctica sin saber que se equivocan, y simplemente lo interpretarán de una manera erronea... pero que a ellos les parecerá una interpretación correcta.
Quizás no sea el mejor ejemplo, pero más o menos algo así es lo que sería en el sentido de intentar darle una explicación a las rutas de tráfico aereo y etc si asumiesemos que la tierra fuese plana, es decir, todo sería cuestión de la percepción del observador, de según se miren las cosas, y no esas barbaridades de conspiranoicos que tu dices, ¡EXAGERADO!.




Aprovecho para compartir este video de un individuo que al menos tiene la capacidad de debatir el tema exponiendo argumentos serios (y no exageraciones absurdas):

[youtube=640,360]https://www.youtube.com/watch?v=DQce8u9IfpU[/youtube]

PD: Yo no sé lo que tiene el WikiSeba este, pero sus argumentos y su método de análisis científico siempre me convencen... y eso me hace dudar mucho xD.

Saludos!
#2202
Cita de: The/Newbie en  2 Junio 2017, 20:44 PMhe traido un tutorial muy importante y gratis

Define "gratis", por favor.

Cita de: https://www.udemy.com/python-3-al-completo-desde-cero/?siteID=ENhIHOsZQ7Y-i7pfCmqRFeROXYkdfCI3ug&LSNPUBID=ENhIHOsZQ7YCurrent price: 10 €
Original price: 195 €
1 day left at this price!

...Yo creo que ahora mismo es "casi gratis", pero a partir de mañana supuestamente será de todo menos gratuito.  :xD

Saludos!
#2203
Hola. No lo diré una tercera vez: las preguntas de VB.NET van en el subforo de .NET. Por favor, empieza a publicar donde debes hacerlo, de lo contrario me veré obligado a eliminar el siguiente tema que esté mal ubicado.




Con respecto a tu pregunta:

Lo que te ha mostrado el compañero @Engel Lex es para habilitar o deshabilitar el requisito de que el usuario deba presionar la secuencia CTRL+ALT+DEL en la pantalla de inicio para efectuar el inicio de sesión, cosa muy diferente a poder deshabilitar CTRL+ALT+DEL mientras el usuario tenga una sesión iniciada, es decir, con la interfáz de usuario / escritorio abierto.

Lee:
Cita de: https://social.msdn.microsoft.com/Forums/vstudio/en-US/a6e16e52-dfe2-44b0-88b8-f74fc28ba1ee/how-to-detect-ctrlaltdel-combination-of-keys-pressed-at-a-time-using-c-programming?forum=csharpgeneralCTRL+ALT+DEL is the secure attention sequence of Windows NT (and its derivatives like Win7). It is the one key combination that is guaranteed to get the OS's attention.
The whole point of the SAS is that it can't be intercepted or stopped by user programs.

So, in short: you can't.

Sin buscar ningún tipo de información ya debería resultar evidente que no sea posible o sencillo interceptar este atajo del teclado global y "crítico" del sistema, ¿te has preguntado la vulnerabilidad aprovechable de virus que eso supondría para Windows/Microsoft?. Lo máximo que puedes llegar a conseguir es detectar la combinación de teclas mediante un hook de bajo nivel del teclado, pero de "detectar" a "desactivar" hay un trecho.

Sin embargo, puesto que se conoce que la combinación CTRL+ALT+DEL la registra y la controla el proceso Winlogon.exe, en teoría existe una manera, pero para ello sería necesario desarrollar una aplicación que reemplazase por completo a la ventana de Logon de Windows (winlogon.exe), mediante GINA (Graphical Identification and Authentication), y entonces en teoría se debería poder sustituir la funcionalidad por defecto de la combinación CTRL+ALT+DEL, pero esto no es algo que puedas desarrollar en un lenguaje de alto nivel como VB.NET / C#.

Fuentes:

Puede que existan otras alternativas (en los enlaces que he compartido se menciona la posibilidad de desarrollar un driver del teclado para cosnegirlo), pero fácil ninguna.

¡Saludos!
#2204
Cita de: Apollo en  1 Junio 2017, 21:02 PM
No me funciona porque si no existe el proceso no puedo hacer que realize algo necesito un if

...¿Qué?. Por favor intenta explicar con más detalle a lo que te refieres. De todas formas te aseguro que NO necesitas nada más que la clase System.Diagnostics.Process para hacer lo que quieres. Si quieres comprobar si existe un process, pues simplemente evalua si el valor de retorno devuelto por la llamada a la función Process.Get...() es nulo o no lo es, tan simple como eso, y con eso escribes el "If".

A menos que muestres un código con lo que has intentado, poco más puedo decirte ni hacer para corregir los fallos del código.

Saludos!
#2205
¿Cómo obtener la clave de producto instalada en Windows, o instalar un archivo de licencia, o una clave de producto de Windows, y como desinstalar la clave o eliminarla del registro de Windows?.

He desarrollado la siguiente clase para poder efectuar algunas operacioens básicas de licencia y activación en Windows, como instalar un archivo de licencia, obtener la clave de producto instalada en Windows, instalar una nueva  clave de producto de Windows, desinstalarla o eliminarla del registro de Windows (tal como hace la herramienta slmgr.vbs /cpky de Microsoft).

Lo he probado en Windows 10 x64, sin problemas. En teoría debería funcionar desde Windows 7 para adelante, y versiones Windows Server desde la 2008 R2 para adelante.

Todo el código fuente está documentado y además los miembros incluyen ejemplos de uso documentados, no creo que haga falta explicar mucho más.

Código (vbnet) [Seleccionar]
' ***********************************************************************
' Author   : Elektro
' Modified : 01-June-2017
' ***********************************************************************

#Region " Public Members Summary "

#Region " Properties "

' ProductId As String
' ProductKey As String

#End Region

#Region " Methods "

' InstallLicense(String)
' InstallLicense(FileInfo)

' InstallProductKey(String)

' UninstallProductKey()

' RemoveProductKeyFromRegistry()

' RefreshLicenseStatus()

#End Region

#End Region

#Region " Option Statements "

Option Strict On
Option Explicit On
Option Infer Off

#End Region

#Region " Imports "

Imports Microsoft.Win32

Imports System.IO
Imports System.Management
Imports System.Runtime.InteropServices

' Imports Elektro.Core.Types

#End Region

#Region " Licensing Util "

' Namespace Tools.Shell

   ''' ----------------------------------------------------------------------------------------------------
   ''' <summary>
   ''' Contains Windows licensing related utilities.
   ''' </summary>
   ''' ----------------------------------------------------------------------------------------------------
   Public NotInheritable Class Licensing ' : Inherits AestheticObject

#Region " Constructors "

       ''' ----------------------------------------------------------------------------------------------------
       ''' <summary>
       ''' Prevents a default instance of the <see cref="Licensing"/> class from being created.
       ''' </summary>
       ''' ----------------------------------------------------------------------------------------------------
       <DebuggerNonUserCode>
       Private Sub New()
       End Sub

#End Region

#Region " Properties "

       ''' ----------------------------------------------------------------------------------------------------
       ''' <summary>
       ''' Gets the Windows product identifier of the current operating system.
       ''' </summary>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <example> This is a code example.
       ''' <code>
       ''' Dim productId As String = ProductId()
       ''' Console.WriteLine(productId)
       ''' </code>
       ''' </example>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <value>
       ''' The Windows product identifier.
       ''' </value>
       ''' ----------------------------------------------------------------------------------------------------
       Public Shared ReadOnly Property ProductId As String
           <DebuggerStepThrough>
           Get
               Return Licensing.GetWindowsProductId()
           End Get
       End Property

       ''' ----------------------------------------------------------------------------------------------------
       ''' <summary>
       ''' Gets the Windows product key of the current operating system.
       ''' <para></para>
       ''' Note that the value could be <see langword="Nothing"/> in case of the product key was
       ''' completely removed from the Windows Registry (eg. using tools like <c>slmgr.vbs /cpky</c>).
       ''' </summary>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <remarks>
       ''' Credits to: <see href="https://github.com/mrpeardotnet/WinProdKeyFinder"/>
       ''' </remarks>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <example> This is a code example.
       ''' <code>
       ''' Dim productKey As String = ProductKey()
       ''' Console.WriteLine(productKey)
       ''' </code>
       ''' </example>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <value>
       ''' The Windows product key, or <see langword="Nothing"/> in case of the product key was
       ''' completely removed from the Windows Registry (eg. using tools like <c>slmgr.vbs /cpky</c>).
       ''' </value>
       ''' ----------------------------------------------------------------------------------------------------
       Public Shared ReadOnly Property ProductKey As String
           <DebuggerStepThrough>
           Get
               Return Licensing.GetWindowsProductKey()
           End Get
       End Property

#End Region

#Region " Public Methods "

       ''' ----------------------------------------------------------------------------------------------------
       ''' <summary>
       ''' Installs a Windows license on the current operating system.
       ''' </summary>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <remarks>
       ''' <see href="https://msdn.microsoft.com/en-us/library/cc534589(v=vs.85).aspx"/>
       ''' </remarks>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <example> This is a code example.
       ''' <code>
       ''' Dim licFilepath As String = "C:\License.lic"
       ''' InstallLicense(licFilepath)
       ''' </code>
       ''' </example>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <param name="licFilepath">
       ''' The license file path.
       ''' </param>
       ''' ----------------------------------------------------------------------------------------------------
       <DebuggerStepThrough>
       Public Shared Sub InstallLicense(ByVal licFilepath As String)

           Licensing.InstallLicense(New FileInfo(licFilepath))

       End Sub

       ''' ----------------------------------------------------------------------------------------------------
       ''' <summary>
       ''' Installs a Windows license on the current operating system.
       ''' </summary>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <remarks>
       ''' <see href="https://msdn.microsoft.com/en-us/library/cc534589(v=vs.85).aspx"/>
       ''' </remarks>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <example> This is a code example.
       ''' <code>
       ''' Dim licFile As New FileInfo("C:\License.lic")
       ''' InstallLicense(licFile)
       ''' </code>
       ''' </example>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <param name="licFile">
       ''' The license file.
       ''' </param>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <exception cref="PlatformNotSupportedException">
       ''' Windows 7 or newer is required to use this feature.
       ''' </exception>
       '''
       ''' <exception cref="FileNotFoundException">
       ''' License file not found.
       ''' </exception>
       '''
       ''' <exception cref="Exception">
       ''' The Software Licensing Service determined that the license is invalid.
       ''' or
       ''' Unknown error occurred during the license installation attempt.
       ''' </exception>
       ''' ----------------------------------------------------------------------------------------------------
       <DebuggerStepThrough>
       Public Shared Sub InstallLicense(ByVal licFile As FileInfo)

           If Not (IsWin7OrGreater) Then
              Throw New PlatformNotSupportedException("Windows 7 or newer is required to use this feature.")
           End If

           If Not licFile.Exists Then
               Throw New FileNotFoundException("License file not found.", licFile.FullName)
           End If

           Dim licData As String = File.ReadAllText(licFile.FullName)

           Using query As New ManagementObjectSearcher("SELECT Version FROM SoftwareLicensingService")

               For Each product As ManagementObject In query.Get()

                   Dim result As UInteger
                   Try
                       result = CUInt(product.InvokeMethod("InstallLicense", {licData}))

                   Catch ex As COMException When (ex.HResult = -1073418209)
                       Throw New Exception("The Software Licensing Service determined that the license is invalid.", ex)

                   Catch ex As COMException
                       Marshal.ThrowExceptionForHR(ex.HResult)

                   Catch ex As Exception
                       Throw

                   End Try

                   If (result <> 0UI) Then
                       Throw New Exception("Unknown error occurred during the license installation attempt.")
                   End If

               Next product

           End Using

       End Sub

       ''' ----------------------------------------------------------------------------------------------------
       ''' <summary>
       ''' Installs a Windows product key on the current operating system.
       ''' </summary>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <remarks>
       ''' <see href="https://msdn.microsoft.com/en-us/library/cc534590(v=vs.85).aspx"/>
       ''' </remarks>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <example> This is a code example.
       ''' <code>
       ''' Dim productKey As String = "YTMG3-N6DKC-DKB77-7M9GH-8HVX7"
       ''' InstallProductKey(productKey)
       ''' </code>
       ''' </example>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <param name="productKey">
       ''' The product key.
       ''' </param>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <exception cref="PlatformNotSupportedException">
       ''' Windows 7 or newer is required to use this feature.
       ''' </exception>
       '''
       ''' <exception cref="ArgumentNullException">
       ''' productKey
       ''' </exception>
       '''
       ''' <exception cref="Exception">
       ''' The Software Licensing Service determined that the product key is invalid.
       ''' or
       ''' Unknown error occurred during the product key installation attempt.
       ''' </exception>
       ''' ----------------------------------------------------------------------------------------------------
       <DebuggerStepThrough>
       Public Shared Sub InstallProductKey(ByVal productKey As String)

           If Not (IsWin7OrGreater) Then
              Throw New PlatformNotSupportedException("Windows 7 or newer is required to use this feature.")
           End If

           If String.IsNullOrWhiteSpace(productKey) Then
               Throw New ArgumentNullException("productKey")
           End If

           Using query As New ManagementObjectSearcher("SELECT Version FROM SoftwareLicensingService")

               For Each product As ManagementObject In query.Get()

                   Dim result As UInteger
                   Try
                       result = CUInt(product.InvokeMethod("InstallProductKey", {productKey}))
                       ' Installing a product key could change Windows licensing state.
                       ' Since the service determines if it can shut down and when is the next start time
                       ' based on the licensing state we should reconsume the licenses here.
                       product.InvokeMethod("RefreshLicenseStatus", Nothing)

                   Catch ex As COMException When (ex.HResult = -1073418160)
                       Throw New Exception("The Software Licensing Service determined that the product key is invalid.", ex)

                   Catch ex As COMException
                       Marshal.ThrowExceptionForHR(ex.HResult)

                   Catch ex As Exception
                       Throw

                   End Try

                   If (result <> 0UI) Then
                       Throw New Exception("Unknown error occurred during the product key installation attempt.")
                   End If

               Next product

           End Using

       End Sub

       ''' ----------------------------------------------------------------------------------------------------
       ''' <summary>
       ''' Uninstall the Windows product key of the current operating system.
       ''' </summary>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <remarks>
       ''' <see href="https://msdn.microsoft.com/en-us/library/cc534599(v=vs.85).aspx"/>
       ''' </remarks>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <exception cref="PlatformNotSupportedException">
       ''' Windows 7 or newer is required to use this feature.
       ''' </exception>
       '''
       ''' <exception cref="Exception">
       ''' Unknown error occurred during the product key uninstallation attempt.
       ''' </exception>
       ''' ----------------------------------------------------------------------------------------------------
       <DebuggerStepThrough>
       Public Shared Sub UninstallProductKey()

           If Not (IsWin7OrGreater) Then
              Throw New PlatformNotSupportedException("Windows 7 or newer is required to use this feature.")
           End If

           Using query As New ManagementObjectSearcher("SELECT Version FROM SoftwareLicensingProduct")

               For Each product As ManagementObject In query.Get()

                   Dim result As UInteger
                   Try
                       result = CUInt(product.InvokeMethod("UninstallProductKey", Nothing))
                       ' Uninstalling a product key could change Windows licensing state.
                       ' Since the service determines if it can shut down and when is the next start time
                       ' based on the licensing state we should reconsume the licenses here.
                       product.InvokeMethod("RefreshLicenseStatus", Nothing)

                   Catch ex As COMException
                       Marshal.ThrowExceptionForHR(ex.HResult)

                   Catch ex As Exception
                       Throw

                   End Try

                   If (result <> 0UI) Then
                       Throw New Exception("Unknown error occurred during the product key removal attempt.")
                   End If

               Next product

           End Using

       End Sub

       ''' ----------------------------------------------------------------------------------------------------
       ''' <summary>
       ''' Removes the Windows product key from registry (to prevent unauthorized diffusion)
       ''' of the current operating system.
       ''' <para></para>
       ''' It does not uninstall the product key.
       ''' </summary>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <remarks>
       ''' <see href="https://msdn.microsoft.com/en-us/library/cc534586(v=vs.85).aspx"/>
       ''' </remarks>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <exception cref="PlatformNotSupportedException">
       ''' Windows 7 or newer is required to use this feature.
       ''' </exception>
       '''
       ''' <exception cref="Exception">
       ''' Unknown error occurred during the product key removal attempt.
       ''' </exception>
       ''' ----------------------------------------------------------------------------------------------------
       <DebuggerStepThrough>
       Public Shared Sub RemoveProductKeyFromRegistry()

           If Not (IsWin7OrGreater) Then
              Throw New PlatformNotSupportedException("Windows 7 or newer is required to use this feature.")
           End If

           Using query As New ManagementObjectSearcher("SELECT Version FROM SoftwareLicensingService")

               For Each product As ManagementObject In query.Get()

                   Dim result As UInteger
                   Try
                       result = CUInt(product.InvokeMethod("ClearProductKeyFromRegistry", Nothing))

                   Catch ex As COMException
                       Marshal.ThrowExceptionForHR(ex.HResult)

                   Catch ex As Exception
                       Throw

                   End Try

                   If (result <> 0UI) Then
                       Throw New Exception("Unknown error occurred during the product key removal attempt.")
                   End If

               Next product

           End Using

       End Sub

       ''' ----------------------------------------------------------------------------------------------------
       ''' <summary>
       ''' Updates the licensing status of the machine so that applications have access to current licensing information.
       ''' </summary>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <remarks>
       ''' <see href="https://msdn.microsoft.com/en-us/library/cc534592(v=vs.85).aspx"/>
       ''' </remarks>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <exception cref="PlatformNotSupportedException">
       ''' Windows 7 or newer is required to use this feature.
       ''' </exception>
       ''' ----------------------------------------------------------------------------------------------------
       <DebuggerStepThrough>
       Public Shared Sub RefreshLicenseStatus()

           If Not (IsWin7OrGreater) Then
              Throw New PlatformNotSupportedException("Windows 7 or newer is required to use this feature.")
           End If

           Using query As New ManagementObjectSearcher("SELECT Version FROM SoftwareLicensingService")

               For Each product As ManagementObject In query.Get()
                   product.InvokeMethod("RefreshLicenseStatus", Nothing)
               Next product

           End Using

       End Sub

#End Region

#Region " Private Members "

       ''' ----------------------------------------------------------------------------------------------------
       ''' <summary>
       ''' Gets a value that determines whether the current operating system is <c>Windows 7</c>, or greater.
       ''' </summary>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <example> This is a code example.
       ''' <code>
       ''' If Not IsWin7OrGreater Then
       '''     Throw New PlatformNotSupportedException("This application cannot run under the current Windows version.")
       ''' End If
       ''' </code>
       ''' </example>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <value>
       ''' A value that determines whether the current operating system is <c>Windows 7</c>, or greater.
       ''' </value>
       ''' ----------------------------------------------------------------------------------------------------
       Private Shared ReadOnly Property IsWin7OrGreater() As Boolean
           <DebuggerStepThrough>
           Get
               Return (Environment.OSVersion.Platform = PlatformID.Win32NT) AndAlso
                      (Environment.OSVersion.Version.CompareTo(New Version(6, 1)) >= 0)
           End Get
       End Property

       ''' ----------------------------------------------------------------------------------------------------
       ''' <summary>
       ''' Gets a value that determines whether the current operating system is <c>Windows 8</c>, or greater.
       ''' </summary>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <example> This is a code example.
       ''' <code>
       ''' If Not IsWin8OrGreater Then
       '''     Throw New PlatformNotSupportedException("This application cannot run under the current Windows version.")
       ''' End If
       ''' </code>
       ''' </example>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <value>
       ''' A value that determines whether the current operating system is <c>Windows 8</c>, or greater.
       ''' </value>
       ''' ----------------------------------------------------------------------------------------------------
       Private Shared ReadOnly Property IsWin8OrGreater() As Boolean
           <DebuggerStepThrough>
           Get
               Return (Environment.OSVersion.Platform = PlatformID.Win32NT) AndAlso
                      (Environment.OSVersion.Version.CompareTo(New Version(6, 2)) >= 0)
           End Get
       End Property

       ''' ----------------------------------------------------------------------------------------------------
       ''' <summary>
       ''' Gets the Windows product key.
       ''' <para></para>
       ''' Note that the return value could be <see langword="Nothing"/> in case of the product key was
       ''' completely removed from the Windows Registry (eg. using tools like <c>slmgr.vbs /cpky</c>).
       ''' </summary>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <remarks>
       ''' <see href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa394239(v=vs.85).aspx"/>
       ''' </remarks>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <returns>
       ''' The Windows product key, or <see langword="Nothing"/> in case of the product key was
       ''' completely removed from the Windows Registry (eg. using tools like <c>slmgr.vbs /cpky</c>).
       ''' </returns>
       ''' ----------------------------------------------------------------------------------------------------
       <DebuggerStepperBoundary>
       Private Shared Function GetWindowsProductId() As String

           Dim result As String = Nothing

           Using query As New ManagementObjectSearcher("SELECT SerialNumber FROM Win32_OperatingSystem")

               For Each product As ManagementObject In query.Get()
                   result = CStr(product.Properties("SerialNumber").Value)
               Next product

           End Using

           Return result

       End Function

       ''' ----------------------------------------------------------------------------------------------------
       ''' <summary>
       ''' Gets the Windows product key.
       ''' <para></para>
       ''' Note that the return value could be <see langword="Nothing"/> in case of the product key was
       ''' completely removed from the Windows Registry (eg. using tools like <c>slmgr.vbs /cpky</c>).
       ''' </summary>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <remarks>
       ''' Credits to: <see href="https://github.com/mrpeardotnet/WinProdKeyFinder"/>
       ''' </remarks>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <returns>
       ''' The Windows product key, or <see langword="Nothing"/> in case of the product key was
       ''' completely removed from the Windows Registry (eg. using tools like <c>slmgr.vbs /cpky</c>).
       ''' </returns>
       ''' ----------------------------------------------------------------------------------------------------
       <DebuggerStepperBoundary>
       Private Shared Function GetWindowsProductKey() As String

           Dim regKey As RegistryKey
           Dim regValue As Byte()
           Dim productKey As String

           If Environment.Is64BitOperatingSystem Then
               regKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64)
           Else
               regKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32)
           End If

           Using regKey
               regValue = DirectCast(regKey.OpenSubKey("SOFTWARE\Microsoft\Windows NT\CurrentVersion").
                                            GetValue("DigitalProductId", New Byte() {}, RegistryValueOptions.None),
                                            Byte())
           End Using

           productKey = Licensing.DecodeProductKey(regValue)
           Return productKey

       End Function

       ''' ----------------------------------------------------------------------------------------------------
       ''' <summary>
       ''' Decode and return the Windows Product Key that is encoded in the specified Windows Product Identifier.
       ''' </summary>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <remarks>
       ''' Credits to: <see href="https://github.com/mrpeardotnet/WinProdKeyFinder"/>
       ''' </remarks>
       ''' ----------------------------------------------------------------------------------------------------
       ''' <returns>
       ''' The Windows product key, or <see langword="Nothing"/> in case of the product key was
       ''' completely removed from the Windows Registry (eg. using tools like <c>slmgr.vbs /cpky</c>).
       ''' </returns>
       ''' ----------------------------------------------------------------------------------------------------
       <DebuggerStepperBoundary>
       Private Shared Function DecodeProductKey(ByVal windowsProductId As Byte()) As String

           If (IsWin8OrGreater) Then ' Decode key from Windows 8 to Windows 10

               Dim key As String = String.Empty
               Dim keyOffset As Integer = 52
               Dim isWin8 As Byte = CByte((windowsProductId(66) \ 6) And 1)
               windowsProductId(66) = CByte((windowsProductId(66) And &HF7) Or (isWin8 And 2) * 4)
               Dim digits As String = "BCDFGHJKMPQRTVWXY2346789"
               Dim last As Integer = 0

               For i As Integer = 24 To 0 Step -1
                   Dim current As Integer = 0
                   For j As Integer = 14 To 0 Step -1
                       current = current * 256
                       current = windowsProductId(j + keyOffset) + current
                       windowsProductId(j + keyOffset) = CByte(current \ 24)
                       current = current Mod 24
                       last = current
                   Next
                   key = digits(current) + key
               Next
               If (key = "BBBBBBBBBBBBBBBBBBBBBBBBB") Then
                   Return Nothing
               End If

               Dim keypart1 As String = key.Substring(1, last)
               Dim keypart2 As String = key.Substring(last + 1, key.Length - (last + 1))
               key = keypart1 & "N" & keypart2

               For i As Integer = 5 To (key.Length - 1) Step 6
                   key = key.Insert(i, "-")
               Next i

               Return key

           Else ' Decode key from Windows XP to Windows 7
               Dim keyStartIndex As Integer = 52
               Dim keyEndIndex As Integer = keyStartIndex + 15
               Dim decodeLength As Integer = 29
               Dim decodeStringLength As Integer = 15
               Dim decodedChars As Char() = New Char(decodeLength - 1) {}
               Dim hexPid As New ArrayList()
               Dim digits As Char() = {
                       "B"c, "C"c, "D"c, "F"c, "G"c, "H"c,
                       "J"c, "K"c, "M"c, "P"c, "Q"c, "R"c,
                       "T"c, "V"c, "W"c, "X"c, "Y"c, "2"c,
                       "3"c, "4"c, "6"c, "7"c, "8"c, "9"c
               }

               For i As Integer = keyStartIndex To keyEndIndex
                   hexPid.Add(windowsProductId(i))
               Next i

               For i As Integer = (decodeLength - 1) To 0 Step -1
                   ' Every sixth char is a separator.
                   If (i + 1) Mod 6 = 0 Then
                       decodedChars(i) = "-"c

                   Else
                       ' Do the actual decoding.
                       Dim digitMapIndex As Integer = 0
                       For j As Integer = (decodeStringLength - 1) To 0 Step -1
                           Dim byteValue As Integer = (digitMapIndex << 8) Or CByte(hexPid(j))
                           hexPid(j) = CByte(byteValue \ 24)
                           digitMapIndex = byteValue Mod 24
                           decodedChars(i) = digits(digitMapIndex)
                       Next

                   End If

               Next i

               Return New String(decodedChars)

           End If

       End Function

#End Region

   End Class

' End Namespace

#End Region
#2206
Cita de: Apollo en  1 Junio 2017, 13:05 PMdeterminar si existe un proceso

Cita de: Apollo en  1 Junio 2017, 13:05 PMy ejecutar una acción en VB.Net
Asumiendo que por "acción" te refieras a iniciar un proceso:

Cita de: Apollo en  1 Junio 2017, 13:05 PMShell(taskkill /IM proceso.exe)

Ten presente que esto es programación en VB.NET, no en VB6 ni en BATCH. No debes usar Shell ni TaskKill para nada.

PD: Y las preguntas sobre VB.NET van en el subforo de .NET.

Saludos!
#2207
Algo de diálogo por tu parte la próxima vez estaría bien, describiendo el contenido del video, por ejemplo, algo que sirva para iniciar un debate...

Esto es un foro, no una red social en donde alguien comparte un video de lo que le apetezca y se queda tan ancho confundiendo al personal.

Saludos!
#2208
Cita de: NoaC en 31 Mayo 2017, 08:47 AMEntonces, Xamarin y los SDK de Android(todos? hay muchos) los voy a necesitar. .NET Core también lo incluyo. ASP.NET para qué? nunca he programado en ASP...
Los ISS ni idea de lo que son y el soporte para Mysql lo necesitaré. Para MariaDB es el mismo?

Si vas a desarrollar aplicaciones de escritorio como ya has dicho, entonces tienes que instalarte los componentes relacionados con la tecnología WinForms, WPF (Windows Presentation Foundation) o UWP (Universal Windows Platform). Una de esas tecnologías es la que debes elegir para desarrollar desktop apps, aunque UWP no se considera desktop app como tal, pero bueno, para entendernos.
La más sencillita y posiblemente la más usada sea WinForms (además de ser una tecnología descontinuada) en la que solo debes saber C#, luego está WPF que sería el sucesor, la evolución, una tecnología en continuo desarrollo y actualización, perfeccionada en todos los sentidos, en la que debes saber manejar C#+Xaml, y por último tienes a tu disposición UWP, que te serviría para desarrollar aplicaciones compatibles tanto para Windows, Phone y XBox, y no necesariamente debes saber C#, sino que también puedes trabajar con JScript o C++.

Si vas a desarrollar aplicaciones Web (como parece que has dejado entrever en tu comentario) entonces debes instalarte los componentes relacionados con la tecnología ASP.NET... pero yo este tema no lo controlo demasiado, el desarrollo a nivel web no es mi especialidad. MariaDB no sé lo que es, pero suponiendo que sea un "proveedor" de bases de datos pues... yo creo que posiblemente lo más conveniente en .NET pueda ser utilizar Microsoft SQL puesto que el manejo de BDs parece estar enfocado u optimizado hacia él.
IIS (Internet Information) es un servidor web de Microsoft, y es posible que no necesites usarlo para nada, pero según los paquetes de entorno que eligas en el instalador de VS2017 algunos coponentes relacionados con IIS deben ser instalados si o si ya que son parte esencial de algunos paquetes:

Cita de: NoaC en 31 Mayo 2017, 08:47 AMos SDK de Android(todos? hay muchos)

Bueno, eso depende de ti, de la versión de Android que quieras soportar.

Lee aquí la información correspondiente al nivel de las APIS que te puedes instalar con Visual Studio 2017 (API Level 19-21, 22 o 23):

https://developer.android.com/guide/topics/manifest/uses-sdk-element.html?hl=es-419#ApiLevels
+
https://developer.android.com/about/dashboards/index.html?hl=es-419

Slaudos
#2209
No sé por que el autor del artículo enfoca el "problema" a Windows 10, cuando no tiene absolutamente nada que ver con el S.O sino con la instalación de Office y un executable que s einicia mediante cierta tarea programadas que éste instala. Además, recordemos que Office 2016 se puede instalar en los siguientes sistemas operativos: Windows 10, Windows 8.1, Windows 8, Windows 7 Service Pack 1, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012, or Windows Server 2008 R2...

Lo dicho, una "noticia" sin sentido alguno. Más bien un título con el nombre "Windows 10" por que sí, para crear polémica y ser más llamativo, algo que solo puede generar desinformación.

Saludos
#2210
Cita de: NoaC en 30 Mayo 2017, 21:58 PMhe visto que lleva mogollón de módulos e historias que pueden llegar a ocupar la friolera de 80 y pico de GB.

Querrás decir 40 gb, ese es el máximo posible espacio libre necesario según los requisitos oficiales: https://www.visualstudio.com/en-us/productinfo/vs2017-system-requirements-vs pero para eso deberías descargar e instalar los 20 GB de componentes, es decir TODO el instalador al completo, cosa que obviamente no necesitas hacer.

Dicho esto, no tienes por qué alarmarte, a mi el directorio de instalación me pesa tan solo 3 GB en total habiendo instalado los componentes para el desarrollo en WinForms, WPF y con soporte para C++, aunque lo cierto es que en tu caso el tamaño de instalación se agrandará unos cuantos gigabytes más debido al gran tamaño que ocupan las SDK de Android, y Xamarin, emuladores de Android/iOS, el framework multiplataforma de .NET Core, el entorno ASP.NET, componentes de ISS, MySQL, y etc... facilmente se te pueden ir entre 10-20 gb como ya te han dicho más arriba.

Tú decides lo que debes instalar, al fin y al cabo solo tú sabes o deberías saber lo que necesitarás en el futuro. Y hablando del futuro, lo cierto es que ahora mismo no tienes por que preocuparte de lo que instalas o dejas de instalar puesto que cualquier funcionalidad que necesites en el futuro, la podrás descargar comodamente desde la IDE de VisualStudio. Por ejemplo al intentar abrir un proyecto que necesite algún componente no instalado (ej. para leer una base de datos definida) Visual Studio 2017 te advertirá de que cierto componente es necesario, y con solo hacer 1 click se descargará y se te instalará, así que no te preocupes por lo que instales ahora mismo. Y siempre puedes volver a utilizar el instalador para actualizar los componentes, sin necesidad de desinstalar/reinstalar nada que ya esté instalado actualmente.

Cita de: NoaC en 30 Mayo 2017, 21:58 PMY digo yo, para qué me sirve todo eso? Si voy a programar en C# y poco más... Por ahora la DB estará en local.

Al referirnos a "C#" no podemos hacerlo tan solo como lenguaje, sino a las tecnologías que soportan dicho lenguaje y en las cuales necsitas trabajar junto a todos los componentes adicionales que en conjunto te proporcionan esa funcionalidad...

Cita de: NoaC en 30 Mayo 2017, 21:58 PMla extensión Resharper para C# viene incluida en alguno de los módulos?

No. ReSharper es un producto comercial externo a Microsoft. Es posible que ReSharper sea una de las extensiones favoritas por excelencia en lo relacionado con las refactorizaciones de código y ayudas visuales en general, pero en mi humilde opinión tan solo es por que existe un hype irracional y muy grande hacia JetBrains por puro fanatismo y debido a buenas estrategias de Marketing. Para mi, existe un competidor que le le gana en todo: Telerik JustCode.

Cita de: NoaC en 30 Mayo 2017, 22:28 PMLo del Resharper era más bien para la corrección en la nomenclatura(clases y métodos con mayúsculas y etc de la gente que viene de la web).

Visual Studio 2017 (al menos en la versión profesional, la community no sé) tiene un menú de configuración donde puedes especificar reglas de nomenclaturas (ej. camelcase, pascalcase, etc) para cada uno de los tipos de miembros existentes. Y adicionálmente también puedes hacer que esas reglas actuen como recomendacinones, advertencias (warnings) o errores en tiempo de compilación. VS2017 es una auténtica joya.

Espero haberte podido ayudar.

Saludos