![]() |
|
#1
|
|||
|
|||
![]() подскажите где ошибка, что не указал?
Код:
procedure CreateKeyRun; var key:HKEY; begin RegOpenKey(HKEY_CURRENT_USER, PChar('SOFTWARE\MyProgmarINI'), Key); RegSetValueEx(key,'FileCode',0,REG_SZ,PChar('1'),lstrlen(PChar('1'))+1); RegCloseKey(key); end; procedure TForm1.Button1Click(Sender: TObject); begin CreateKeyRun; end; Ключ не создается хотя при копиляции все нормально, и ошибок при работе не выдает. |
#2
|
||||
|
||||
![]() RegOpenKey лишь открывает существующий подраздел, если его нет, он не создаётся. Используйте RegCreateKey
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
|||
|
|||
![]() а как создать ключ DWORD?
Код:
RegSetValueEx(Key,NameKey,0,REG_SZ,PChar(Value),lstrlen(PChar(Value))+length(Value)); Код выше создает REG_SZ, я пробывал заменить REG_DWORD, но не подходит. |
#4
|
||||
|
||||
![]() Код:
RegSetValue(Key, NameKey, REG_DWORD, @Value, SizeOf(Cardinal)); Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#5
|
|||
|
|||
![]() пишу следующее:
Код:
procedure CreateKeyRun; var Key:HKEY; Value: String; begin RegCreateKeyEx(HKEY_CURRENT_USER,'Software\MyProgramINI',0,nil,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,Nil,Key,nil); RegSetValueEx(key,'FileCode',0,REG_DWORD,@Value,SizeOf(Cardinal)); RegCloseKey(Key); end; нузно значение 1 а он постоянно пишет 0 |
#6
|
||||
|
||||
![]() Вы ведь хотите DWORD записать, а суёте туда стринг - в скобках уже тип данных указан
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#7
|
|||
|
|||
![]() я вас не понял, причем тут тип он мне вместо 1 вписывает 0, даже если его не указывать, а если и указать то ересь пишет какую то.
|
#8
|
||||
|
||||
![]() Код:
procedure CreateKeyRun; var Key:HKEY; Value: Cardinal; begin Value:= 1; RegCreateKeyEx(HKEY_CURRENT_USER,'Software\MyProgramINI',0,nil,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,Nil,Key,nil); RegSetValueEx(key,'FileCode',0,REG_DWORD,@Value,SizeOf(Cardinal)); RegCloseKey(Key); end; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |