Porta USB
Alguém sabe como faço para bloquear e desbloquear a porta USB da máquina via programação delphi?
Leufmt
Curtidas 0
Respostas
Nasguone
09/02/2007
Crie uma chave no registro:
HKEY_LOCAL_MACHINE \ sistema \ CurrentControlSet \control.
De um clique direito e cría chave nova e nomeia “StorageDevicePolicies”. Na janela na direita então criar um valor novo de DWORD e etiquetá-lo WriteProtect, dão-lhe um valor de “1” e os usuários já não podem mais escrever às movimentações do USB. Para re-enable esta basta mudar o valor a 0 e são permitidos outra vez aos usuários escrever no pen drive ou outro dispositivo.
HKEY_LOCAL_MACHINE \ sistema \ CurrentControlSet \control.
De um clique direito e cría chave nova e nomeia “StorageDevicePolicies”. Na janela na direita então criar um valor novo de DWORD e etiquetá-lo WriteProtect, dão-lhe um valor de “1” e os usuários já não podem mais escrever às movimentações do USB. Para re-enable esta basta mudar o valor a 0 e são permitidos outra vez aos usuários escrever no pen drive ou outro dispositivo.
GOSTEI 0
Leufmt
09/02/2007
Mas como faço isso no Delphi?
GOSTEI 0
Nightshade
09/02/2007
Var
Reg: TRegistry;
Reg := TRegistry.Create;
with Reg do
begin
RootKey := HKEY_LOCAL_MACHINE;
OpenKey(´sistema\CurrentControlSet\control\´,False);
WriteInteger(´StorageDevicePolicies´,1);
CloseKey;
Free;
end;
poe na clausula uses Registry
[]´s
Reg: TRegistry;
Reg := TRegistry.Create;
with Reg do
begin
RootKey := HKEY_LOCAL_MACHINE;
OpenKey(´sistema\CurrentControlSet\control\´,False);
WriteInteger(´StorageDevicePolicies´,1);
CloseKey;
Free;
end;
poe na clausula uses Registry
[]´s
GOSTEI 0
Leufmt
09/02/2007
Esta dando o seguinte erro:
Project Project2.exe raised exception class ERegistyExecption with message ´Failed to set data for
´StorageDevicePolicies´´. Process Stopped. Use Step or Run to continue.
Project Project2.exe raised exception class ERegistyExecption with message ´Failed to set data for
´StorageDevicePolicies´´. Process Stopped. Use Step or Run to continue.
GOSTEI 0
Nightshade
09/02/2007
a chave nao se chama sistema, e sim system, tenta com system q dara certo..
flw
flw
GOSTEI 0
Leufmt
09/02/2007
Agora não deu erro.
Mas não esta funcionando. Pois não esta desabilitando e nem habilitando o usb
Mas não esta funcionando. Pois não esta desabilitando e nem habilitando o usb
GOSTEI 0
Nightshade
09/02/2007
procedure TFrmMain.PenDrive(B: Boolean);
var
Reg: TRegistry;
begin
try
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey(´\SYSTEM\CurrentControlSet\Services\USBSTOR\´,False);
if (B) then
begin
Reg.WriteInteger(´Start´,4);
end
else
begin
Reg.WriteInteger(´Start´,3);
end;
Reg.CloseKey;
Reg.Free;
except
end;
end;
essa funçao eu mesmo desenvolvi, e funciona legal aki..
utilize PenDrive(True);
para blockear a USB e PenDrive(False); para reabri ela..
[]´s
var
Reg: TRegistry;
begin
try
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey(´\SYSTEM\CurrentControlSet\Services\USBSTOR\´,False);
if (B) then
begin
Reg.WriteInteger(´Start´,4);
end
else
begin
Reg.WriteInteger(´Start´,3);
end;
Reg.CloseKey;
Reg.Free;
except
end;
end;
essa funçao eu mesmo desenvolvi, e funciona legal aki..
utilize PenDrive(True);
para blockear a USB e PenDrive(False); para reabri ela..
[]´s
GOSTEI 0