eXeL@B —› Программирование —› Ассемблер - передача строки из поля ввода в качестве параметра в реестр |
Посл.ответ | Сообщение |
|
Создано: 04 августа 2012 17:18 · Личное сообщение · #1 |
|
Создано: 04 августа 2012 17:29 · Поправил: elch · Личное сообщение · #2 Нужно передать строку из поля ввода в качестве значения в реестр. Вот тестовый исходник: Code:
У меня это прекрасно работает на WinXP SP3. У другого человека на W7 x64 тоже все отрабатывает. Но у некоторых - почему-то не работает. В чем засада? Исходники: bdb3_04.08.2012_EXELAB.rU.tgz - test.zip |
|
Создано: 04 августа 2012 18:01 · Поправил: -=AkaBOSS=- · Личное сообщение · #3 |
|
Создано: 04 августа 2012 19:00 · Поправил: elch · Личное сообщение · #4 -=AkaBOSS=- В том то и дело, что объяснить внятно не могут. Пишут "Вот почему-то у меня в абауте не показывает введенного мной имени" и все Вот здесь подробней про это: Мне кажется, что у меня все правильно сделано. Спросил здесь на всякий случай - может, еще чего в код надо добавить, или ошибка где-то? |
|
Создано: 04 августа 2012 20:21 · Поправил: mysterio · Личное сообщение · #5 elch WinXP SP 2 все ок. Скорее всего тот кто запускает твою поделку (и вероятнее всего это юЗверь с W7) не слышал про запуск с правами администратора (а также с отключением или понижением UAC на 1-2 уровня что бы умерить пыл параноии W7). ИМХО. Также не забывать про реестр W7 WOW64 и т.д.- ветки другие. На худой конец заюзать другие API. UPD: LONG RegSetValueEx( HKEY hKey, // handle of key to set value for LPCTSTR lpValueName, // address of value to set DWORD Reserved, // reserved DWORD dwType, // flag for value type CONST BYTE *lpData, // address of value data DWORD cbData // size of value data ); .... cbData Specifies the size, in bytes, of the information pointed to by the lpData parameter. If the data is of type REG_SZ, REG_EXPAND_SZ, or REG_MULTI_SZ, cbData must include the size of the terminating null character. SizeOf (x)+1 Больше идей нет ;) У меня SizeOf RegCode хоть SizeOf RegCode+1 пашет. ----- Don_t hate the cracker - hate the code. |
|
Создано: 04 августа 2012 20:28 · Поправил: -=AkaBOSS=- · Личное сообщение · #6 А рег ключ от имени зависит? Если да, то если бы прога его не читала, ничего бы не работало. Вставь вызов RegFlushKey. Может, поможет Ну и на всякий, вставь в код проверку на вводимые символы имени. А то мало ли, что и как они там вводят /ADD: mysterio а вот чел из под хп, с той же проблемой: http://forum.ru-board.com/topic.cgi?forum=35&topic=1500&start=1560#18 |
|
Создано: 05 августа 2012 06:27 · Поправил: ADMIN-CRACK · Личное сообщение · #7 NAMES equ 114 of_Name2 db 'User Name:',0 Value1 db 'LicensedTo',0 SubKey db 'Software\ (второй [ \ ] тут не отображается увы) ProcessLasso',0 REG_S db 'REG_SZ',0 ;REGKEY hKey dd ? lpcbData dd ? szBuff db 512 dup(?) invoke RegCreateKeyEx,HKEY_CURRENT_USER,addr SubKey,0,addr REG_S,0,KEY_WRITE or KEY_READ,0,addr hKey,0 invoke GetDlgItemText,hwnd,NAMES,addr szBuff,512 invoke lstrlen, addr szBuff mov lpcbData, eax invoke RegSetValueEx,hKey,addr Value1,0,REG_SZ,addr szBuff,lpcbData Может чего и забыл. | Сообщение посчитали полезным: elch |
|
Создано: 05 августа 2012 18:08 · Личное сообщение · #8 |
|
Создано: 05 августа 2012 18:40 · Личное сообщение · #9 |
eXeL@B —› Программирование —› Ассемблер - передача строки из поля ввода в качестве параметра в реестр |
Эта тема закрыта. Ответы больше не принимаются. |