elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Una ayuda con un proyecto de c#?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Una ayuda con un proyecto de c#?  (Leído 1,646 veces)
andrecid

Desconectado Desconectado

Mensajes: 126


Haz lo que quieras, por que nadie te puede obligar


Ver Perfil
Una ayuda con un proyecto de c#?
« en: 2 Noviembre 2014, 13:12 pm »

Hola a ver hoy estuve leyendo y investigando por internet como podía hacer la aplicación como, vi que con el español no encontraba nada decidí búscarlo en ingles y bueno he encontrado varias cositas pero no es lo que yo quería aun así me vale.

Lo que quiero hacer es tengo 1 form y en este si damos un click en el button1 nos lleva a una página web, hasta aquí todo bien, luego de llevarnos a la página web aparece otro form y este debe de validar la conexión a la página web que nos llevo el form1 como, la pena es que solo he encontrado 2 formas:

1- Con el ping
o de estas formas:
Código
  1. public partial class Form2 : Form
  2.    {
  3.  
  4.  
  5.        public Form2()
  6.        {
  7.            InitializeComponent();
  8.        }
  9.  
  10.        private void Form2_Load(object sender, EventArgs e)
  11.        {
  12.            bool Conection = NetworkInterface.GetIsNetworkAvailable();
  13.            if (Conection == true)
  14.            {
  15.                label1.Text = "Conexión realizada con éxito";
  16.                button1.Visible = true;
  17.            }
  18.            else
  19.            {
  20.                label1.Text = " Conexión fallida";
  21.            }
  22.        }

o

Código
  1. public partial class Form2 : Form
  2.    {
  3.  
  4.        [DllImport("wininet.dll")]
  5.        private extern static bool InternetGetConnectedState(out int Description, int ReservedValue);
  6.  
  7.        public Form2()
  8.        {
  9.            InitializeComponent();
  10.        }
  11.  
  12.        private void Form2_Load(object sender, EventArgs e)
  13.        {
  14.            int Desc;
  15.            MessageBox.Show(InternetGetConnectedState(out Desc, 0).ToString());
  16.  
  17.        }

La pena es que con esta solo me aparece un mensaje True o false ( en el 2 codigo ), lo que quiero en realidad es saber como podría hacerse :  si la pagina del form1 esta conectada a nuestro navegador entonces aparezca en el label que la conexión se hizo correctamente, si no se puede de esta forma con la de internet me vale.

Gracias


« Última modificación: 2 Noviembre 2014, 13:19 pm por Eleкtro » En línea

Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.810



Ver Perfil
Re: Una ayuda con un proyecto de c#?
« Respuesta #1 en: 2 Noviembre 2014, 14:05 pm »

lo que quiero en realidad es saber como podría hacerse :  si la pagina del form1 esta conectada a nuestro navegador entonces aparezca en el label que la conexión se hizo correctamente

Vamos a ver, ¿lo que quieres es esperar a que la página se cargue del todo en el WebBrowser, y luego mostrar un "mensaje" de validación?.

Entonces suscríbete al evento DocumentCompleted del WebBrowser

Código
  1.    ' [WebBrowser] - Navigate And Wait
  2.    '
  3.    ' By Elektro H@cker
  4.    '
  5.    ' Usage Examples:
  6.    ' NavigateAndWait(WebBrowser1, "www.google.com") : MsgBox("Webpage is ready!")
  7.  
  8.    ''' <summary>
  9.    ''' Navigates to an url and waits the page to be loaded.
  10.    ''' </summary>
  11.    ''' <param name="url">Indicates the url to navigate.</param>
  12.    ''' <param name="newWindow">Indicates whether the url should open into a new browser window.</param>
  13.    Private Sub NavigateAndWait(ByVal Browser As WebBrowser,
  14.                                ByVal url As String,
  15.                                Optional newWindow As Boolean = False)
  16.  
  17.        With Browser
  18.  
  19.            .Tag = False ' IsWebPageLoaded = False
  20.            AddHandler .DocumentCompleted, AddressOf WebBrowser_DocumentCompleted
  21.            .Navigate(url, newWindow)
  22.  
  23.            Do Until DirectCast(.Tag, Boolean) ' IsWebPageLoaded = True
  24.                Application.DoEvents()
  25.            Loop
  26.  
  27.            RemoveHandler .DocumentCompleted, AddressOf WebBrowser_DocumentCompleted
  28.  
  29.        End With
  30.  
  31.    End Sub
  32.  
  33.    ''' <summary>
  34.    ''' Handles the DocumentCompleted event of the WebBrowser control.
  35.    ''' </summary>
  36.    ''' <param name="sender">The source of the event.</param>
  37.    ''' <param name="e">The <see cref="WebBrowserDocumentCompletedEventArgs"/> instance containing the event data.</param>
  38.    Private Sub WebBrowser_DocumentCompleted(ByVal sender As Object, ByVal e As WebBrowserDocumentCompletedEventArgs)
  39.  
  40.        DirectCast(sender, WebBrowser).Tag = True
  41.  
  42.    End Sub

C#, traducción al vuelo
Código
  1. // [WebBrowser] - Navigate And Wait
  2. //
  3. // By Elektro H@cker
  4. //
  5. // Usage Examples:
  6. // NavigateAndWait(WebBrowser1, "www.google.com") : MsgBox("Webpage is ready!")
  7.  
  8. /// <summary>
  9. /// Navigates to an url and waits the page to be loaded.
  10. /// </summary>
  11. /// <param name="url">Indicates the url to navigate.</param>
  12. /// <param name="newWindow">Indicates whether the url should be open into a new browser window.</param>
  13. private void NavigateAndWait(WebBrowser Browser, string url, bool newWindow = false)
  14. {
  15. var _with1 = Browser;
  16.  
  17. _with1.Tag = false; // IsWebPageLoaded = False
  18. _with1.DocumentCompleted += WebBrowser_DocumentCompleted;
  19. _with1.Navigate(url, newWindow);
  20.  
  21. // IsWebPageLoaded = True
  22. while (!((bool)_with1.Tag)) {
  23. Application.DoEvents();
  24. }
  25.  
  26. _with1.DocumentCompleted -= WebBrowser_DocumentCompleted;
  27.  
  28. }
  29.  
  30. /// <summary>
  31. /// Handles the DocumentCompleted event of the WebBrowser control.
  32. /// </summary>
  33. /// <param name="sender">The source of the event.</param>
  34. /// <param name="e">The <see cref="WebBrowserDocumentCompletedEventArgs"/> instance containing the event data.</param>
  35. private void WebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
  36. {
  37. ((WebBrowser)sender).Tag = true;
  38.  
  39. }
  40.  
  41. //=======================================================
  42. //Service provided by Telerik (www.telerik.com)
  43. //=======================================================

PD: Puedes reemplazar la instrucción Application.DoEvents() por un BGWorker.

saludos


« Última modificación: 2 Noviembre 2014, 14:08 pm por Eleкtro » En línea

andrecid

Desconectado Desconectado

Mensajes: 126


Haz lo que quieras, por que nadie te puede obligar


Ver Perfil
Re: Una ayuda con un proyecto de c#?
« Respuesta #2 en: 2 Noviembre 2014, 14:13 pm »

En realidad no , la página se abre en los navegadores, y lo que quiero es que comprueba si algún navegador tiene la página web abierta
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA CON PROYECTO!!!!
Electrónica
carcepower 2 3,058 Último mensaje 10 Marzo 2006, 12:33 pm
por plomo17
Ayuda con un Proyecto !!!!!!!!! « 1 2 »
Programación Visual Basic
VirucKingX 10 4,260 Último mensaje 26 Abril 2006, 04:04 am
por VirucKingX
ayuda con proyecto
Programación Visual Basic
claudio145 4 1,899 Último mensaje 31 Agosto 2007, 01:19 am
por cark
Ayuda con un proyecto « 1 2 3 4 »
Programación Visual Basic
lord manson 38 12,472 Último mensaje 19 Julio 2008, 14:49 pm
por lord manson
Ayuda CON mi proyecto « 1 2 »
Programación Visual Basic
blood_brother 11 5,423 Último mensaje 23 Agosto 2009, 18:29 pm
por seba123neo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines