procedure bloquearUSB;
var
reg : TRegistry;
begin
reg := TRegistry.create;
with reg do
begin
RootKey := HKEY_LOCAL_MACHINE;
if OpenKey('\SYSTEM\CurrentControlSet\Services\UsbStor', false) then
begin
//quatro bloqueia
reg.WriteInteger('Start', 4);
//caminho do arquivo que o windows usa para montar a unidade usb
reg.WriteString('ImagePath', '_system32\DRIVERS\USBSTOR.SYS');
end;
CloseKey;
end;
end;
Procedure desbloquearUSB;
var
reg : Tregistry;
begin
reg := TRegistry.Create;
with reg do
begin
RootKey := HKEY_LOCAL_MACHINE;
if OpenKey('\SYSTEM\CurrentControlSet\Services\UsbStor', false) then
begin
//tres desbloqueia
reg.WriteInteger('Start', 3);
//caminho do arquivo que o windows usa para montar a unidade usb
reg.WriteString('ImagePath', 'system32\DRIVERS\USBSTOR.SYS');
end;
end;
end;
Assim como a necessidade e se utilizar algum recurso para manipular as datas e horas de alguma maneira e freqüente, as duvidas de como o faze-lo também é, basta um breve olhar em qualquer fórum especializado e lá está, alguma duvida relacionada, por isso decidi falar um pouco sobre uma unit muito poderosa chamada DateUtils para a manipulação de data e hora, com um grande numero de métodos e classes que facilitam a vida de qualquer um.
Alguns exemplos:
LessThanValue O primeiro valor é menor que o segundo
EqualsValue Os valores são iguais
GreaterThanValue O primeiro valor é maior que o segundo