Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-01-2024
hectorlg2023 hectorlg2023 is offline
Registrado
 
Registrado: feb 2023
Posts: 4
Poder: 0
hectorlg2023 Va por buen camino
Talking Bloqueando puerto USB con Lista Blanca y Negra

Buenas tardes.
Tengo que realizar un programa para bloquear mis puertos USB de dispositivos de almacenamientos, ya he leído varios webs y otras en búsqueda de información, pero todo es muy absoluto, encontré una aplicación que se llama USB Lock RP, y me gustaría saber como poder hacer algo así, y si existe algún componente que me permita en delphi hacer lo que quiero. Quiero tratar de hacerlo en delphi.
Algún consejo o código que me ayude. Gracias de antemano.
Responder Con Cita
  #2  
Antiguo 20-01-2024
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No lo he probado, pero prueba esto a ver:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

const
  GUID_DEVINTERFACE_USB: TGUID = '{A5DCBF10-6530-11D2-901F-00C04FB951ED}';
  DIF_PROPERTYCHANGE = $12;

function SetupDiSetClassInstallParams(DeviceInfoSet: HDEVINFO;
  DeviceInfoData: PSP_DEVINFO_DATA; ClassInstallParams: PSP_CLASSINSTALL_HEADER;
  ClassInstallParamsSize: DWORD): BOOL; stdcall; external 'Setupapi.dll' name 'SetupDiSetClassInstallParamsW';

function SetupDiCallClassInstaller(InstallFunction: DI_FUNCTION;
  DeviceInfoSet: HDEVINFO; DeviceInfoData: PSP_DEVINFO_DATA): BOOL; stdcall;
  external 'Setupapi.dll' name 'SetupDiCallClassInstaller';

procedure DisableUSB;
var
  DeviceInfoSet: HDEVINFO;
  DeviceInfoData: SP_DEVINFO_DATA;
  ClassInstallParams: TSPPropChangeParams;
begin
  DeviceInfoSet := SetupDiGetClassDevs(@GUID_DEVINTERFACE_USB, nil, 0, DIGCF_PRESENT);
  if DeviceInfoSet <> INVALID_HANDLE_VALUE then
  begin
    try
      ZeroMemory(@DeviceInfoData, SizeOf(SP_DEVINFO_DATA));
      DeviceInfoData.cbSize := SizeOf(SP_DEVINFO_DATA);

      if SetupDiEnumDeviceInfo(DeviceInfoSet, 0, DeviceInfoData) then
      begin
        ZeroMemory(@ClassInstallParams, SizeOf(TSPPropChangeParams));
        ClassInstallParams.ClassInstallHeader.cbSize := SizeOf(TSPPropChangeParams);
        ClassInstallParams.ClassInstallHeader.InstallFunction := DIF_PROPERTYCHANGE;
        ClassInstallParams.Scope := DICS_FLAG_GLOBAL;
        ClassInstallParams.StateChange := DICS_DISABLE;

        if not SetupDiSetClassInstallParams(DeviceInfoSet, @DeviceInfoData,
          @ClassInstallParams.ClassInstallHeader, SizeOf(TSPPropChangeParams)) then
        begin
          ShowMessage('Error calling SetupDiSetClassInstallParams');
        end
        else
        begin
          if not SetupDiCallClassInstaller(DIF_PROPERTYCHANGE, DeviceInfoSet, @DeviceInfoData) then
          begin
            ShowMessage('Error calling SetupDiCallClassInstaller');
          end;
        end;
      end
      else
      begin
        ShowMessage('Error enumerating device information');
      end;
    finally
      SetupDiDestroyDeviceInfoList(DeviceInfoSet);
    end;
  end
  else
  begin
    ShowMessage('Error getting device information set');
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  DisableUSB;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  // Puedes realizar tareas de limpieza aquí si es necesario
end;

end.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Conocimientos deseables: Pruebas de caja negra o caja blanca ? JXJ Varios 4 19-02-2011 23:45:01
Blanca Nieves, el Jorobado y Hercules jcarteagaf Humor 4 23-06-2008 22:18:40
Se puede saber quien me está bloqueando un registro? diegolf Conexión con bases de datos 2 02-05-2007 16:56:08
Blanca Nieves y los 7 enanos egostar Humor 0 05-07-2006 23:09:54
Pavo, con salsa blanca... FunBit Humor 3 05-12-2005 00:17:28


La franja horaria es GMT +2. Ahora son las 12:10:06.


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
Copyright 1996-2007 Club Delphi