Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ejecutar un programa al conectar un USB (https://www.clubdelphi.com/foros/showthread.php?t=20146)

tramjauer 06-04-2005 22:26:21

Ejecutar un programa al conectar un USB
 
Muy buenas a todos, me gustaria saber como puedo ejecutar un programa al conectar en mi ordenador un lapiz de estos USB o adaptador de camaras, es decir que al enxufar el lapiz o cable en el puerto USB se me ejecute dixo programa.

Espero que me haya explicado con claridad.

Muchas gracias!

Tramjauer

jachguate 06-04-2005 22:29:42

No estoy seguro que valga para este tipo de medios, pero el componente TCDChange del amigo Roman puede ser la solución.

Hasta luego.

;)

roman 06-04-2005 23:03:00

Tal como está no funciona y no sé para un adaptador de cámaras pero acabo de probar con una memoria usb y funciona con el siguiente cambio en la unidad CdChange:

Código Delphi [-]
procedure TCdChange.WndProc(var Msg: TMessage);
var
  Drive: Char;

begin
  if Msg.Msg = WM_DEVICECHANGE then
    with TWMDeviceChange(Msg) do
      if
        ((Event = DBT_DEVICEARRIVAL) or (Event = DBT_DEVICEREMOVECOMPLETE)) and
        (Header.DeviceType = DBT_DEVTYP_VOLUME) {and
        (PDevBroadcastVolume(Header).Flags and DBTF_MEDIA <> 0)}
      then
      begin
        Drive := GetDriveFromMask(PDevBroadcastVolume(Header).UnitMask);

        case Event of
          DBT_DEVICEARRIVAL:
            if Assigned(FOnCdInserted) then FOnCdInserted(Self, Drive);

          DBT_DEVICEREMOVECOMPLETE:
            if Assigned(FOnCdRemoved) then FOnCdRemoved(Self, Drive);
        end;
      end;
end;

es dicer, omitiendo la verificación de PDevBroadcastVolume(Header).Flags.

// Saludos


La franja horaria es GMT +2. Ahora son las 10:53:56.

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