procedure TFrmUSB.FormClose(Sender: TObject; var Action: TCloseAction); begin Reg.Free; end;procedure TFrmUSB.ButtonENClick(Sender: TObject); begin Reg.WriteInteger('Start',4); Showmessage('USB 被禁用,请重启计算机'); end;procedure TFrmUSB.EditKLChange(Sender: TObject); begin if EditKL.Text='3121280' then EditKL.Visible:=false; end;end.
楼上提供的代码没什么用, 改完了注册表, 还要重启机器才能生效,而且只是针对USB Mass Storage Driver。
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Registry, StdCtrls;type
TFrmUSB = class(TForm)
ButtonEN: TButton;
ButtonDIS: TButton;
EditKL: TEdit;
procedure FormShow(Sender: TObject);
procedure ButtonDISClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ButtonENClick(Sender: TObject);
procedure EditKLChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
FrmUSB: TFrmUSB;
Reg:Tregistry;implementation{$R *.dfm}procedure TFrmUSB.FormShow(Sender: TObject);
begin
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_LOCAL_MACHINE;
Reg.OpenKey('SYSTEM\CurrentControlSet\Services\UsbStor',false);
end;procedure TFrmUSB.ButtonDISClick(Sender: TObject);
begin
Reg.WriteInteger('Start',3);
Showmessage('USB 被启用,请重启计算机');
end;
begin
Reg.Free;
end;procedure TFrmUSB.ButtonENClick(Sender: TObject);
begin
Reg.WriteInteger('Start',4);
Showmessage('USB 被禁用,请重启计算机');
end;procedure TFrmUSB.EditKLChange(Sender: TObject);
begin
if EditKL.Text='3121280' then EditKL.Visible:=false;
end;end.