Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.191.200.35] |
|
Сообщ.
#1
,
|
|
|
У меня есть hex:02 45 4A ... мне нужно засунуть их в реестр. Не могу понять как сделать это на Delphi.
Есть много примеров, но как с Hex непонимаю! Как двоичные данные, или как? |
Сообщ.
#2
,
|
|
|
RegSetValueEx(Key,'bla-bla-bla',0,REG_BINARY,@value,SizeOf(value))
|
Сообщ.
#3
,
|
|
|
Цитата ZEE,9.01.04, 14:12 RegSetValueEx(Key,'bla-bla-bla',0,REG_BINARY,@value,SizeOf(value)) А как мне заполнить value своим значением? И как описать (Pointer или иначе)? |
Сообщ.
#4
,
|
|
|
ок, для непонятливых более детальный пример:
var Key:hKey; D1,value:integer; ... if RegCreateKeyEx(HKEY_CURRENT_USER,'...',0,nil, REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,nil,Key, @D1)=Error_Success then begin value:=...; RegSetValueEx(Key,'...',0,REG_BINARY,@value,SizeOf(value)); end; ... зы: думаю понятно что ставить вместо трех точек |
Сообщ.
#5
,
|
|
|
Честно говоря я нечего не понял из этого примера, но разобрался сам!
Вот пример для тех, кому это может понадобиться! Program Printer; {$APPTYPE CONSOLE} Uses SysUtils, Registry, Windows; Var MyKey : TRegistry; Const Zapis:array[0..309] of byte= ($45, $70, $73, $6f, $6e, $20, $4c, $58, $2d, $38, $30, $30, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $04, $01, $04, $94, $00, $a2, $00, $03, $66, $00, $04, $01, $00, $09, $00, $7f, $00, $fe, $00, $00, $00, $01, $00, $08, $00, $78, $00, $01, $00, $01, $00, $90, $00, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $03, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $40, $00, $4d, $53, $55, $44, $00, $03, $45, $70, $73, $6f, $6e, $20, $4c, $58, $2d, $38, $30, $30, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $84, $00, $00, $00, $00, $00, $00, $00, $01, $00, $00, $00, $00, $00, $00, $00, $64, $00, $00, $00, $00, $00, $01, $00, $62, $00, $02, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $01, $00, $ec, $00, $c5, $00, $00, $00, $00, $00, $ff, $ff, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $21, $00, $01, $00, $06, $00, $ff, $ff, $00, $00, $ff, $ff, $00, $00, $ff, $ff, $ff, $ff, $00, $00, $00, $00, $00, $00, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff, $ff); begin Writeln('>>LOADING PRESENTS FOR PRINTER "Epson LX-800">>'); MyKey:=TRegistry.Create; MyKey.RootKey:=HKEY_LOCAL_MACHINE; MyKey.OpenKey('System\CurrentControlSet\Control\Print\Printers\Epson LX-800',true); MyKey.WriteBinaryData('Default DevMode',Zapis,SizeOf(Zapis)); Writeln('>>FAVOURITE PRESENTS WAS SAVED>>'); MyKey.CloseKey; MyKey.Free; end. Под XP не уверен что пойдет, а вот под Windows9X работает идеально! |
Сообщ.
#6
,
|
|
|
А где же try & finally? =)
|
Сообщ.
#7
,
|
|
|
Ну если хотите можно добавить
|
Сообщ.
#8
,
|
|
|
Цитата Du-Xa, 12.01.04, 14:45 Честно говоря я нечего не понял из этого примера судя по тому что этот раздел назывется "Система, Windows API" - я так понял нужен был пример записи в реестр на API (бинарная запись), но как видно из "разобрался сам!" - нужен был все же VCL но раз разобрался - то все ОК Цитата Du-Xa, 12.01.04, 14:45 Под XP не уверен что пойдет, а вот под Windows9X работает идеально! должно пойти - там ниче "криминального" нет ... |
Сообщ.
#9
,
|
|
|
На самом деле я создал здесь эту тему ориентируясь на слово "система", windows api.
Но все-равно огромное спасибо за внимание! |