|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Сен 29, 2004 12:51:11 · Поправил: Безпощадный даос Начал разбирать код, написанный в VB под Assembler и выходит ошибка, непонятно в чем, вот код: RegSetVal proc sSubKey :DWORD, sKey :DWORD, sVal :DWORD invoke RegCreateKeyEx,HKEY_CURRENT_USER, sSubKey, 0, NULL, 0,KEY_WRITE, 0, RegSetVal, 0 invoke RegSetValueEx, eax, sKey, 0, REG_SZ, sVal, NULL ; NULL ??? Invalid Parametre invoke RegCloseKey, eax ret RegSetVal endp объявил Proto как: RegSetVal PROTO :DWORD,:DWORD,:DWORD правильно ли я делаю, просьба не издеваться(если вопрос простой), ассемблером занимаюсь не более чем полторы недели :) да и вот вбшный код... Public Function RegSetValue(ByVal hKey As RootKey, _ ByVal sSubKey As String, _ ByVal sKey As String, _ ByVal sValue As String) As Long Call RegCreateKeyEx(hKey, sSubKey, 0&, vbNullString, 0&, KEY_WRITE, 0&, RegSetValue, 0&) Call RegSetValueEx(RegSetValue, sKey, 0&, REG_SZ, ByVal sValue, Len(sValue)) Call RegCloseKey(RegSetValue) End Function |
|
|
Дата: Сен 29, 2004 13:37:48 в invoke нужно передавать адрес строки, т.е. ADDR sSubKey а не просто sSubKey, то же и с sKey |
|
|
Дата: Сен 29, 2004 13:40:16 RegSetVal proc sSubKey :DWORD, sKey :DWORD, sVal :DWORD invoke RegCreateKeyEx,HKEY_CURRENT_USER, sSubKey, 0, NULL, 0,KEY_WRITE, 0, RegSetVal, 0 invoke RegSetValueEx, eax, sKey, 0, REG_SZ,ADDR sVal, NULL ; NULL ??? Invalid Parametre invoke RegCloseKey, eax ret Не забывает ADDR для "Поинтер"... ADDR заменяет ByVal (VB) С уважением, Gerard ( Жерар ) ----------------- Gerard |
|
|
Дата: Сен 29, 2004 13:44:11 Извините, invoke RegCreateKey,HKEY_LOCAL_MACHINE,ADDR cKey1,ADDR Results invoke lstrlen,ADDR Folder invoke RegSetValueEx,Results,ADDR cID1,0,REG_SZ,ADDR Folder,eax invoke RegCloseKey,Results Вот хорошо решение... С уважением, Gerard ( Жерар ) ----------------- Gerard |
|
|
Дата: Сен 29, 2004 14:04:13 Вот пример: нажмешь на ОК - и в реестре в HKCU появится NewTestKey, а в нем - NewTestSubKey с TestValue. если че не понятно будет - спрашивай еще 1653414620__reg.zip |
|
|
Дата: Сен 29, 2004 14:40:06 сколько не пытался, перебрал всякие варианты, но так не могу ничего придумать, да и еще я заметил, что надо возвратить длину строки которую будем писать, как сделать это на masm? может ктонибудь дать полный код записи в реестр, а потом в спокойных обстоятельствах я его разберу, или может кто то может дословно перевести вбшный код, заранее всем огромнооооооооее, спасибо... |
|
|
Дата: Сен 29, 2004 14:42:39 ой сорри чуть запоздало отправил, спасибо будем смотреть, и что будет непонятно будем спрашивать :) |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.037 |