Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Не могу записать данные в реестр в ХР 22.10.03 18:20
Автор: ih8u <i hate you> Статус: Member
|
Проблема в том что в 98-ом код работает, а в ХР нет, создаётся Key (RegCreateKeyEx) но туда не создаются значения ни двордовые ни строковые (создаю через RegSetValueEx), что может быть??
Сижу под ХР профешнл
|
|
Код показывай, а так, вслепую, ничего не ясно 22.10.03 20:48
Автор: leo <Леонид Юрьев> Статус: Elderman
|
|
| |
показываю 22.10.03 22:08
Автор: ih8u <i hate you> Статус: Member
|
RegSetDword(LPTSTR path, LPTSTR name, DWORD dw)
{
HKEY hKey = HKEY_LOCAL_MACHINE;
if(RegOpenKeyEx(hKey, path, 0, KEY_READ, &hKey) != ERROR_SUCCESS)
return;
RegSetValueEx(hKey, name, NULL, REG_DWORD, (LPBYTE)&dw, sizeof(dw));
RegCloseKey(hKey);
hKey = NULL;
}
|
| | |
98 - md 22.10.03 23:16
Автор: Killer{R} <Dmitry> Статус: Elderman
|
> RegSetDword(LPTSTR path, LPTSTR name, DWORD dw) > { > HKEY hKey = HKEY_LOCAL_MACHINE; > if(RegOpenKeyEx(hKey, path, 0, KEY_READ, &hKey) != > ERROR_SUCCESS) > return; > RegSetValueEx(hKey, name, NULL, REG_DWORD, > (LPBYTE)&dw, sizeof(dw)); > RegCloseKey(hKey); > hKey = NULL; > } Ты же открываешь его как KEY_READ как же ты туда еще писать собираешься?
|
| | | |
98 - md 24.10.03 17:10
Автор: ih8u <i hate you> Статус: Member
|
> Ты же открываешь его как KEY_READ как же ты туда еще писать > собираешься?
вобщето да, согласен, но в 98-ом РАБОТАЕТ!
|
| | | | |
Работает, а не должно 24.10.03 17:31
Автор: Killer{R} <Dmitry> Статус: Elderman
|
> вобщето да, согласен, но в 98-ом РАБОТАЕТ! В НТ в реестре имеется поддержка секьюрити - ключи имеют SECURITY_DESCRIPTORы и процесс может иметь а может не иметь различные права в различных ключах. В 98х все могут читать и писать куда хотят потому этот параметр скорее всего просто не используется, оставлен для совместимости с НТ. Кстати твоя прога раз она пишет в HKLM скорее всего сможет работать тока под админом.
|
| | | | | |
Ещо одна трабла 25.10.03 17:44
Автор: ih8u <i hate you> Статус: Member Отредактировано 25.10.03 18:15 Количество правок: 3
|
Поставил KEY_WRITE, вроде стало писать в HKLM
Тока вот ещо одна трабла, не пишет в HKCU, например:
HKEY hKey;
char value[100];
if(RegOpenKeyEx(HKEY_CURRENT_USER, "Software\\Microsoft\\Internet Explorer\\Main", 0, KEY_WRITE, &hKey) == ERROR_SUCCESS)
{
lstrcpy(value, "Start Page");
RegSetValueEx(hKey, "http://www.microsoft.com/", NULL, REG_SZ, (BYTE * const)value, (lstrlen(value) + 1)*sizeof(TCHAR));
RegCloseKey(hKey);
}
В if заходит, всё выполняется, тока стартовая страница не меняется,
опять же, в 98-ом всё работает :(
RegSetValueEx возвращяет 0, тоесть типа ERROR_SUCCESS
|
| | | | | | |
Гы. А ты уверен что ЭТО работало в 98й? 25.10.03 18:38
Автор: Killer{R} <Dmitry> Статус: Elderman
|
> lstrcpy(value, "Start Page"); > RegSetValueEx(hKey, "http://www.microsoft.com/", > NULL, REG_SZ, (BYTE * const)value, (lstrlen(value) + > 1)*sizeof(TCHAR)); > опять же, в 98-ом всё работает :( > RegSetValueEx возвращяет 0, тоесть типа ERROR_SUCCESS так ты определись ты в переменную "Start Page" пишешь значение "http://www.microsoft.com/" или в "http://www.microsoft.com/" пишешь "Start Page".
|
| | | | | | | |
Гы. А ты уверен что ЭТО работало в 98й? 25.10.03 21:09
Автор: ih8u <i hate you> Статус: Member
|
млин, точно, чтото я туплю, спасибо за помощь!
|
|
|