А вот как
Code
uses Registry;
prcedure WriteReg
var
reg: TRegistry;
Buf: array[0..23] of byte = (0,0,0,0,0,0,0,0,3,0,0,0,0,0,$5B,$E0,0,0,$5C,$E0,0,0,0,0);
begin
reg := TRegistry.Create;
try
reg.RootKey := HKEY_LOCAL_MACHINE;
if reg.OpenKey('SYSTEM\CurrentControlSet\Control\Keyboard Layout', True)
then begin
Reg.WriteBinaryData('Scancode Map', Buf, SizeOf(Buf));
//если такого имени нет, то оно создается этой процедурой
reg.CloseKey;
end;
finally
reg.Free;
end;
end;