Сейчас на форуме: hgdagon, asfa (+4 невидимых)

 eXeL@B —› Программирование —› Проблемы с записью в реестр
Посл.ответ Сообщение

Ранг: 47.4 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 20 февраля 2007 02:54 · Поправил: SeQuick
· Личное сообщение · #1

Есть код:

Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Declare Function RegSetValueEx Lib "advapi32" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal Reserved As Long, ByVal dwType As Long, lpData As Any, ByVal cbData As Long) As Long
Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long

Public Const HKEY_CURRENT_USER = &H80000001
Public Const HKEY_LOCAL_MACHINE = &H80000002
Public Const HKEY_USERS = &H80000003
Public Const HKEY_PERFORMANCE_DATA = &H80000004
Public Const HKEY_CURRENT_CONFIG = &H80000005
Public Const HKEY_DYN_DATA = &H80000006

Public Const REG_NONE = 0
Public Const REG_SZ = 1
Public Const REG_EXPAND_SZ = 2
Public Const REG_BINARY = 3
Public Const REG_DWORD = 4
Public Const REG_DWORD_BIG_ENDIAN = 5
Public Const REG_LINK = 6
Public Const REG_MULTI_SZ = 7
Public Const REG_RESOURCE_LIST = 8


If chkAutoWinLoad.Value = 1 Then
SaveKey HKEY_LOCAL_MACHINE, "SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon", "AutoAdminLogon", REG_SZ, "1", Len(KeyValue), "AutoAdminLogon = 1", "AutoAdminLogon = 0"
Else
RemoveKey HKEY_LOCAL_MACHINE, "SOFTWAREMicrosoftWindows NTCurrentVersionWinlogon", "AutoAdminLogon", "no...", "fuck..."
End If


Public Sub SaveKey(hKey As Long, strPath As String, NameOfKey As String, KeyType As Integer, KeyValue As String, LenKeyValue As Long, GoodMessage As String, BadMessage As String)

RetVal = RegCreateKey(hKey, strPath, KeyHand)

If RetVal <> 0 Then
MsgBox "Ошибка при создании раздела"
GoTo Closed
End If

RetVal = RegSetValueEx(KeyHand, NameOfKey, 0, KeyType, KeyValue, LenKeyValue)

If RetVal = 0 Then
MsgBox GoodMessage, vbExclamation, " "
Else

MsgBox BadMessage, vbCritical, " "
End If

Closed:
RetVal = RegCloseKey(KeyHand)
End Sub

Пишет в реестр какой-то левый символ! Что не так?




Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

Создано: 20 февраля 2007 03:35
· Личное сообщение · #2

Лови класс для работы с реестром и не парься

af2e_20.02.2007_CRACKLAB.rU.tgz - RegKey.cls

-----
Уважайте других и пишите грамотно.




Ранг: 18.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 20 февраля 2007 03:52
· Личное сообщение · #3

SeQuick пишет:
RetVal = RegSetValueEx(KeyHand, NameOfKey, 0, KeyType, KeyValue, LenKeyValue)

у меня тоже дописывала нулем в конце (в Regedit выглядел как '.' в конце строкового значения), он собсно не мешал правильной работе ))
всяко пробовал - потом забил
Кто знает - что это: Баг WinAPI функции / кривые ручки?



Ранг: 47.4 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 20 февраля 2007 04:28
· Личное сообщение · #4

ЗExecutioner пишет:
Лови класс для работы с реестром и не парься

af2e_20.02.2007_CRACKLAB.rU.tgz - RegKey.cls


За класс конечно спасибо, но мне надо самому понять почему это так. Ведь я же в дальнейшем не буду им пользоваться.




Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

Создано: 20 февраля 2007 07:28
· Личное сообщение · #5

в VB строку в API-функцию надо передавать по значению

RetVal = RegSetValueEx(KeyHand, NameOfKey, 0, KeyType, ByVal KeyValue, Len(KeyValue))

-----
Уважайте других и пишите грамотно.




Ранг: 73.1 (постоянный), 130thx
Активность: 0.040.23
Статус: Участник

Создано: 20 февраля 2007 09:22
· Личное сообщение · #6

AlCr0
кривые ручки. В Regedit zero-char не должен отбражаться в строковых значениях



Ранг: 47.4 (посетитель)
Активность: 0.030
Статус: Участник

Создано: 20 февраля 2007 11:15
· Личное сообщение · #7

Да точно я ByVal не учёл! Пасибо тему мона закрывать



Ранг: 18.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 20 февраля 2007 11:23
· Личное сообщение · #8

RamMerlabs Чтож он тогда его берёть? из паскальной строки перевожу в zero-конечный, подаю в RegSetValueEx(...) в регедите вижу точку в конце строки. вызываю изменить, сохраняю (не меняя) - все ок. пропадает сам
в ольке посмотрю что там происходит




Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

Создано: 20 февраля 2007 12:13
· Личное сообщение · #9

AlCr0
там завершающего null-символа не должно быть в строке

-----
Уважайте других и пишите грамотно.




Ранг: 18.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 22 февраля 2007 01:30
· Личное сообщение · #10

Executioner
И точно! Он по передавемой длине берет вместе с нулем, потому как не sz... а буфер + размер
Надо было в хелп заглянуть
А то как обычно - инструкции в посл очередь читаю




Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

Создано: 23 февраля 2007 09:57
· Личное сообщение · #11

AlCr0
по-чаще в MSDN гляди) помогает) хотя я сам редко смотрю туда)

-----
Уважайте других и пишите грамотно.




Ранг: 37.8 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 24 февраля 2007 00:24
· Личное сообщение · #12

Есть вопрос !!!! Пользуюсь программой Cutting2 и крэк релиз от SSG.
Крэк --- ипорт двух ключей реестра !!!
Вся "закавыка" в то, что на 7 компьтеров программа активируется , а на 5-ти не пашет !!!
Винда на всех одинаковая( ставилась с одного диска )

Импорт:

[HKEY_LOCAL_MACHINESoftwareCuttingOptions]
"skey"="bAM64W8Hѓ9QCnQDPтi3uZSZi`rI49bA1іd0SmLZFљ2l858LGГFwo5G/m5Jv98H Oj yxmCLI3иcl4y5vY{IPqvq0O›66jn7MU1O0e1LzYKgj+QC"

[HKEY_CLASSES_ROOTct2]
@="wуkMA7yM=e2gisL9F¶B+xPr2b“DvOjS+vЕZ115cE+345SR1w6 ckNmsKKнL5sy824KK JdiYC1‹jDnDEPVеsP/it/crN7zD"

Какие мысли ???



Ранг: 73.1 (постоянный), 130thx
Активность: 0.040.23
Статус: Участник

Создано: 24 февраля 2007 01:03
· Личное сообщение · #13

Была такая ботва с DFX для WinAmp'а, переустановил DFX на компах, где не работало - и, о чудо!, всё рульно.




Ранг: 120.9 (ветеран), 5thx
Активность: 0.080
Статус: Участник
Programmer and reverser

Создано: 24 февраля 2007 01:33
· Личное сообщение · #14

RamMerlabs пишет:
Была такая ботва с DFX

точно, у меня тож было. переставляй

-----
Уважайте других и пишите грамотно.




Ранг: 37.8 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 25 февраля 2007 04:20
· Личное сообщение · #15

Дело в том, что Cutting 2 --- программа оптимального раскроя деталей ( применяется в производстве мебели). Не могу уловить, при чем тут DFX ??? Вы все же полагаете ( настаиваете ) , что это связано с DFX ??? В понедельник проверю !!



Ранг: 73.1 (постоянный), 130thx
Активность: 0.040.23
Статус: Участник

Создано: 25 февраля 2007 05:16
· Личное сообщение · #16

DFX тут только при том, что с ним была похожая (такая же?) история.



Ранг: 37.8 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 26 февраля 2007 01:50
· Личное сообщение · #17

Значчить мыслей окромя DFX ,больше нет ???



Ранг: 73.1 (постоянный), 130thx
Активность: 0.040.23
Статус: Участник

Создано: 26 февраля 2007 02:02
· Личное сообщение · #18

>>Вы все же полагаете ( настаиваете ) , что это связано с DFX
Ты с какого дуба рухнул? Тебе ж сказали: когда быда такая проблема с DFX его переустановили! Следовательно, Cutting2 попробуй тоже переустановить!



Ранг: 37.8 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 26 февраля 2007 02:25
· Личное сообщение · #19

RamMerlabs

Задумчиво: Какой народ грубый пошел, страшно жить !!!

После выхода из задумчивости проговорил :" RamMerlabs --- Это вы с дуба рухнули !!!
Не тупите !!!! DFX тулили к WinAmp,у --- а у меня повторюсь, Cutting 2 --- программа оптимального раскроя деталей, и она " как ни странно " К звуку никакого отношеня не имеет !!!




Ранг: 353.0 (мудрец)
Активность: 0.370
Статус: Участник
resreveR

Создано: 26 февраля 2007 02:48
· Личное сообщение · #20

да епта, тебе никто не говорит про связь своей проги то звуком, говорят - переставь

-----
Тут не могла быть ваша реклама




Ранг: 37.8 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 26 февраля 2007 03:06
· Личное сообщение · #21

lord_Phoenix

Естессно переставлял !!!! Если бы помогло , зачем бы я треп разводил.



Ранг: 73.1 (постоянный), 130thx
Активность: 0.040.23
Статус: Участник

Создано: 26 февраля 2007 03:35
· Личное сообщение · #22

addy, мля, ты чё, не мог сразу сказать, что уже переставлял???



Ранг: 101.0 (ветеран), 344thx
Активность: 1.150
Статус: Участник

Создано: 15 марта 2007 23:02
· Личное сообщение · #23

addy пишет:
Вся "закавыка" в то, что на 7 компьтеров программа активируется , а на 5-ти не пашет !!!

Эти компы случайно в одну сеть не объединены? А то вот Kaspersky (6-ая версия) умел находить своих братьев по сети и смотреть лимит лицензии, одновременно работали только 5 копий (в зависимости от того какие компы будут включены первыми).


 eXeL@B —› Программирование —› Проблемы с записью в реестр
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати