Форум программистов, компьютерный форум CyberForum.ru

Ошибка чтения параметра из реестра - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Слеш и hInternet http://www.cyberforum.ru/cpp-beginners/thread362709.html
Вообщем есть такой код int main(int argc, char* argv) { setlocale(LC_CTYPE, ""); //русский текст strcpy(url,"ya.ru"); readsite(url);
C++ Помогите скомпилировать программу с ассемблерной втавкой Есть программа на С++ с ассемблерной вставкой, одну функцию планирую переписать (вместо getdfree() будет GetDiskFreeSpaceEx() ) Пользуюсь Borland C++ 5.02 компилировал вот так: bcc kurs.cpp chdir.asm но когда будут вставлять GetDiskFreeSpaceEx() прийдется использовать bcc32 И там уже не выходит скомпилировать как раньше bcc32 kurs.cpp chdir.asm вылезают следующие ошибки Error... http://www.cyberforum.ru/cpp-beginners/thread362707.html
C++ Конец уроков
В некоторой школе занятия начинаются в 9:00. Продолжительность урока — 45 минут, после 1-го, 3-го, 5-го и т.д. уроков перемена 5 минут, а после 2-го, 4-го, 6-го и т.д. — 15 минут. Дан номер урока (число от 1 до 10). Определите, когда заканчивается указанный урок. Выведите два целых числа: время окончания урока в часах и минутах. При решении этой задачи нельзя пользоваться циклами и условными...
C++ Комментирование кода
#ifndef ENHANCEDSAFEARRAY_H #define ENHANCEDSAFEARRAY_H #include "safearray.h" template <typename T> class EnhancedSafeArray: public SafeArray<T> { public: EnhancedSafeArray(void); EnhancedSafeArray(int);
C++ функция получение ip адреса http://www.cyberforum.ru/cpp-beginners/thread362691.html
какой функцией можно получить в программе на c++ свой ip адресс и можно ли его сменить?
C++ otladka programmy #include <iostream> #include <conio.h> #include <locale.h> #include <stdlib.h> #include <iomanip> #define m 12 using namespace std; void main() { подробнее

Показать сообщение отдельно
Игорь98
34 / 34 / 3
Регистрация: 12.02.2010
Сообщений: 239
07.10.2011, 18:34     Ошибка чтения параметра из реестра
Добрый вечер. Пишу программу, которая использует реестр. Суть программы: на форме есть кнопка, которая при нажатие регистрирует необходимые параметры в реестре. Есть вторая кнопка, которая читает эти параметры и в дальнейшем их использует по назначению. Вот кусок кода, который отвечает за запись параметров:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
HKEY hKey1;
char rfilelm[1024] = {0};// две строки, которые нужно записать
char rfilecu[1024] = {0};
 
//производим действия со строками
 
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,
        "SOFTWARE\\Microsoft\\KontrolRun",
        0, KEY_ALL_ACCESS, &hKey2) == ERROR_SUCCESS)
{   
        // далее пишем эти строки   
    RegSetValueEx(hKey2, "rfilelm", NULL, REG_SZ, rfilelm, sizeof(rfilelm));
    RegSetValueEx(hKey2, "rfilecu", NULL, REG_SZ, rfilecu, sizeof(rfilecu));
}
else
{
        MessageBox(NULL, "Невозможно открыть ключ!", "Открытие", MB_OK | MB_ICONERROR);
    return;
}
RegCloseKey(hKey1);
К этому куску кода вопросов не имею, все пишется, сам проверял, они существуют
Далее, у нас есть второй кусок, который читает эти параметры:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
HKEY hKey;
char rlm[1024] = {0};   DWORD trlm = sizeof(rlm);
char rcu[1024] = {0};   DWORD trcu = sizeof(rcu);
if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,
        "SOFTWARE\\Microsoft\\KontrolRun",
        0, KEY_ALL_ACCESS, &hKey) == ERROR_SUCCESS)
{
    if(RegQueryValueEx(hKey, "rfilelm",
        NULL, NULL, (LPBYTE)rlm, &trlm) == ERROR_SUCCESS)
    {
        ShowMessage(rlm);
    }
    else
    {
        ShowMessage("HKLM. Не прочитать!");
    }
 
    if(RegQueryValueEx(hKey, "rfilecu",
            NULL, NULL, (LPBYTE)rcu, &trcu) == ERROR_SUCCESS)
    {
        ShowMessage(rcu);
    }
    else
    {
        ShowMessage("HKCU. Не прочитать!");
    }
}
else
{
    MessageBox(NULL, "Невозможно открыть ключ!", "Открытие", MB_OK | MB_ICONERROR);
    return;
}
RegCloseKey(hKey);
Вот тут начинаются фокусы Параметр rlm спокойно читается и, разумеется, спокойно выводиться в ShowMessage, а параметр rcu ни в какую не хочет читаться Повторюсь, я его сам лично проверял, он есть
Да и еще, тут заметил, если открыть этот ключ в редакторе реестра и нажать два раз по этому параметру (т. е. открыть окно где можно изменять значение данного параметра), и просто нажать ОК, не изменяя значение параметра, то в программе все отлично читается, без всяких ошибок.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru