Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: j0lama en 10 Octubre 2014, 00:44 am



Título: Ayuda duda C#
Publicado por: j0lama en 10 Octubre 2014, 00:44 am
Hola buenas, llevo tiempo intentando hacer un login en c# para seriales que cuando se de por valido el serial y el programa se vuelva a ejecutar no me vuelva a salir la ventana de login sino que ya tiene acceso. Alguna ayuda/idea
Un saludo


Título: Re: Ayuda duda C#
Publicado por: Luna71c0 en 10 Octubre 2014, 00:46 am
Depende que tan profesional quieras ser, podes desde guardar un simple archivo .conf hasta modificar una llave de registro :P


Título: Re: Ayuda duda C#
Publicado por: j0lama en 10 Octubre 2014, 00:50 am
Algo sencillo que es para un proyecto para el colegio, teniendo en cuenta que de c# se lo básico. ;D


Título: Re: Ayuda duda C#
Publicado por: Eleкtro en 10 Octubre 2014, 10:05 am
Si no pretendes distribuir la aplicación de forma profesional entonces te sugiero utilizar la infraestructura My.Settings/Properties.Settings.

1. Documéntate:
http://msdn.microsoft.com/en-us/library/aa730869%28v=vs.80%29.aspx

2. Crea una propiedad adecuada a tu propósito:
(http://i.imgur.com/yD0moKI.jpg)

3. Utiliza la propiedad para tus fines:

( Con este ejemplo debería ser suficiente para que entiendas el uso y lo puedas adaptar a tu aplicación. )

Vb.NET:
Código
  1. Public Class SerialFormTest
  2.  
  3.    Private Sub New()
  4.  
  5.        InitializeComponent()
  6.  
  7.        Me.CheckSerialStatus()
  8.  
  9.        Dim serial As String = "0f8fad5b-d9cb-469f-a165-70867728950e"
  10.  
  11.        If Me.ValidateSerial(serial) Then
  12.            Me.SaveSerial(serial)
  13.            ' Application.Restart()
  14.        End If
  15.  
  16.    End Sub
  17.  
  18.    Public Sub CheckSerialStatus()
  19.  
  20.        If My.Settings.Serial.Equals(Nothing) Then
  21.            MessageBox.Show("No se ha licenciado la aplicación.", Me.Name,
  22.                            MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
  23.            ' Application.Exit()
  24.  
  25.        Else
  26.            MessageBox.Show("Se ha licenciado la aplicación.", Me.Name,
  27.                            MessageBoxButtons.OK, MessageBoxIcon.Information)
  28.  
  29.        End If
  30.  
  31.    End Sub
  32.  
  33.    Private Function ValidateSerial(ByVal serial As String) As Boolean
  34.  
  35.        Dim refSerial As Guid
  36.        Return Guid.TryParse(serial, refSerial)
  37.  
  38.    End Function
  39.  
  40.    Private Sub SaveSerial(ByVal serial As String)
  41.  
  42.        With My.Settings
  43.            .Serial = Guid.Parse(serial)
  44.            .Save()
  45.        End With
  46.  
  47.    End Sub
  48.  
  49. End Class


C# (conversión al vuelo):
Código
  1. using Microsoft.VisualBasic;
  2. using System;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. using System.Data;
  6. using System.Diagnostics;
  7. public class SerialFormTest
  8. {
  9.  
  10.  
  11. public SerialFormTest()
  12. {
  13. InitializeComponent();
  14.  
  15. this.CheckSerialStatus();
  16.  
  17. string serial = "0f8fad5b-d9cb-469f-a165-70867728950e";
  18.  
  19. if (this.ValidateSerial(serial)) {
  20. this.SaveSerial(serial);
  21. // Application.Restart()
  22. }
  23.  
  24. }
  25.  
  26.  
  27. private void CheckSerialStatus()
  28. {
  29. if (My.Settings.Serial.Equals(null)) {
  30. MessageBox.Show("No se ha licenciado la aplicación.", this.Name, MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
  31. // Application.Exit()
  32.  
  33. } else {
  34. MessageBox.Show("Se ha licenciado la aplicación.", this.Name, MessageBoxButtons.OK, MessageBoxIcon.Information);
  35.  
  36. }
  37.  
  38. }
  39.  
  40. private bool ValidateSerial(string serial)
  41. {
  42.  
  43. Guid refSerial = default(Guid);
  44. return Guid.TryParse(serial, refSerial);
  45.  
  46. }
  47.  
  48.  
  49. private void SaveSerial(string serial)
  50. {
  51. var _with1 = My.Settings;
  52. _with1.Serial = Guid.Parse(serial);
  53. _with1.Save();
  54.  
  55. }
  56.  
  57. }
  58.  
  59. //=======================================================
  60. //Service provided by Telerik (www.telerik.com)
  61. //=======================================================
  62.  

Saludos.