Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Lanzar aplicacion al detectar conexion a internet (https://www.clubdelphi.com/foros/showthread.php?t=18030)

Delphius 30-01-2005 19:46:20

Lanzar aplicacion al detectar conexion a internet
 
Mi pregunta es simple: ¿Es posible hacer que mi aplicación se ejecute cuando se detecte una conexión a internet?

roman 30-01-2005 19:50:44

¿Cuando quién detecte la conexión?

Supongo que podrías instalar un servicio que cheque periódicamente la conexión y cuando la detecta lanzar la aplicación principal.

// Saludos

Delphius 30-01-2005 19:58:50

Me explique mal
 
Me explique mal. Tengo desarrollado un contador que me lleva la cuenta de cuanto tiempo se lleva de conexión, y el monto correspondiente. Quisiera hacer que mi programa se ejecute (no se encuentra activo en ningún momento) cuando se haya concretado una conexión, en vez de hacerlo manualmente. Es decir que cuando se inicie la conexión... se ejecute de forma automática mi aplicación.:confused:

roman 30-01-2005 20:02:27

Cita:

Empezado por Delphius
(no se encuentra activo en ningún momento)

Precisamente por esto es que preguntaba, ¿quién va a detectar la conexión?

A no ser que Windows traiga alguna utilidad para ejecutar tareas una vez que se realice una conexión, de fuerza requieres un código que lo haga. Por ello te hablo de un servicio o una aplicación sin ventanas que lo único que haga sea usar un Timer para checar si hay o no una conexión. Cuando lo haga, ejecuta la aplicación que estaba inactiva.

// Saludos

Delphius 30-01-2005 20:09:13

Si entiendo lo que dices...
Quería evitarme hacer que sea mi aplicación (u otra) la que detecte la conexión... estuve buscando si había alguna API que me ayudara a resolver eso, pero no encontré nada hasta el momento.
Po ahora, es mi aplicación la que inicia la cuenta cuando se detecta la conexión.

argami 02-02-2005 15:01:09

intenta usar esta api

RasGetProjectionInfo

con ella puede obtener mucha informacion de las conecciones RAS (Remote Acces Service)
en la ayuda en el SDK Win 32 DEvelopers references tienes mas informacion

yo no la he usado pero e spero que te ayude

Delphius 12-02-2005 05:48:32

gracias por la info
 
Gracias por info argami..
me voy a poner a investigar de ello.

roman 12-02-2005 20:47:59

Cita:

Empezado por Delphius
Quería evitarme hacer que sea mi aplicación (u otra) la que detecte la conexión... estuve buscando si había alguna API que me ayudara a resolver eso, pero no encontré nada hasta el momento.

Pero una Api como dices tiene que ejecutarla algún código! Ya sea la que te propone argami o cualquier otro método para detectar la conexión a Internet tiene que ejecutarse en alguna parte.

Sinceramente creo que te está confundiendo (o yo estoy confundiendo :) ). Una cosa es el código (API u otra cosa) para detectar la conexión a Internet y otra cosa es ejecutar este código.

Forzosamente "algo" tiene que estar a la espera de la conexión y ese "algo" tiene que ser una aplicación o servicio.

// Saludos

argami 14-02-2005 15:21:11

Lamento si mi idea confunde a alguien, la verdad no lo he hecho con esa intencion, pero sin duda que roman tiene razon con lo que dice.

no especifique el echo de la necesidad de un timer o un Hilo por creer que quedaba sobre entendido que hacia falta, mas bien solo referi un api que puede servir para detectar cuando esta abierta una conexion.

Mis sinceras disculpas si esto ha hecho perder tiempo a alguien

roman 14-02-2005 17:42:46

Cita:

Empezado por argami
no especifique el echo de la necesidad de un timer o un Hilo por creer que quedaba sobre entendido que hacia falta

No te preocupes argami, mi insistencia va dirigida a Delphius quien me parece que aún no tiene claro esto que indicas.

// Saludos

Delphius 16-02-2005 03:39:17

Si entiendo lo que dices roman....
 
Roman si entiendo lo que dices... si o si tiene que haber "algo" activo para que lanze mi aplicación.
Me resultó (hasta el momento) más fácil usar un timer para que cada 1 segundo cheque si está conectado y si realmente lo está empieza a cronometrar. Si la conexión se interrumpe... se detiene.

JOSEPE 16-02-2005 17:07:33

Alguan vez encontre una funcion windows llamada mediante una Callback para detectar si habia una conexion a INTERNET, la verdad que la perdi, UDs., al parecer sabe como hacerlo me pueden indicar cual es esa funcion o como lo hacen Uds.

Salu2

JOSEPE
Lima-Peru

roman 16-02-2005 17:22:24

Hablando de cosas que alguna vez hemos visto y no recordamos donde :rolleyes: menciono que recuerdo haber leído en alguna parte que la única manera verdaderamente confiable para detectar si existe una conexión a Internet es haciendo un ping a una dirección que sepamos a ciencia cierta que está activa. Si no obtenemos respuesta es que no hay conexión.

// Saludos

argami 16-02-2005 21:29:45

es verdad pero eso tiene un problema que tienes que estar seguro que a largo plazo esa direccion estara activa

JOSEPE 16-02-2005 22:16:43

Para los que necesiten detectar Internet.

Código:

function IsConnected: Boolean;
var
 ConnectedState: Integer;
begin
 ConnectedState := INTERNET_CONNECTION_MODEM +  INTERNET_CONNECTION_LAN + INTERNET_CONNECTION_PROXY;
 Result := InternetGetConnectedState(@ConnectedState, 0);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
          if IsConnected = False then Panel1.Caption :='You are not connected to internet'
          else
          panel1.Caption :='You are connected to internet';
  end;


JoseQ 30-03-2005 12:23:07

k unidades hacen falta para ejecutar esa funcion ?

roman 30-03-2005 15:43:59

Cita:

Empezado por JoseQ
k unidades hacen falta para ejecutar esa funcion ?

¿Te refieres a InternetGetConnectedState? Pues me parece que está en la unidad WinInet?

// Saludos


La franja horaria es GMT +2. Ahora son las 00:38:03.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi