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

Работа с реестром - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Написать программу вычисляющую sin X по формуле разложения в степенной ряд http://www.cyberforum.ru/cpp-beginners/thread666685.html
• Написать программу вычисляющую sin X по формуле разложения в степенной ряд Добавлено через 1 минуту Проще говоря нужна помощь с тем как записать формулу в С++ что бы работало.Тк даже не имею...
C++ Написать программу, позволяющую вывести на экран значения следующих логических выражений Кто может помочь с программой пожалуйста? Написать программу, позволяющую вывести на экран значения следующих логических выражений (значения для переменных вводятся с клавиатуры): http://www.cyberforum.ru/cpp-beginners/thread666679.html
C++ По заданному числу N найти число Х
Задание 1. В трехзначном числе Х зачеркнули его вторую цифру. Когда к образованному при этом двузначному числу справа приписали вторую цифру числа Х, то получилось число N. По заданному числу N...
Символьный массив, состоящий из цифр, перевести в числовой C++
мне нужна часть программы, в которой символьный массив, состоящий из цифр, будет переведен в числовой. мне нужно изначально просто ввести в программу натуральное число. символьный массив не требует...
C++ typedef http://www.cyberforum.ru/cpp-beginners/thread666665.html
double f(double x){ } typedef double (*TPF)(double); TPF fff = f; fff(10.0); как и почему это работает корректно, если в typedef сначала должно идти что мы переопределяем, а после ключевое...
C++ Public variable in heap sort Проблема такая. Нужно отсортировать массив, введенный пользователем. Я написала код хипсортинга, с функциями heapify, build heap, heapsort. Все вроде правильно. Но проблема в том, что размер массива... подробнее

Показать сообщение отдельно
soundtrack
42 / 42 / 4
Регистрация: 15.12.2011
Сообщений: 131

Работа с реестром - C++

08.10.2012, 23:29. Просмотров 635. Ответов 2
Метки (Все метки)

Доброго времени суток. Читаю в MSDN про работу с реестром и, собственно, начал с компиляции примера кода, по этому адресу.
Кликните здесь для просмотра всего текста
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
// QueryKey - Enumerates the subkeys of key and its associated values.
//     hKey - Key whose subkeys and values are to be enumerated.
 
#include <windows.h>
#include <stdio.h>
#include <tchar.h>
 
#define MAX_KEY_LENGTH 255
#define MAX_VALUE_NAME 16383
 
void QueryKey(HKEY hKey) 
{ 
    TCHAR    achKey[MAX_KEY_LENGTH];   // buffer for subkey name
    DWORD    cbName;                   // size of name string 
    TCHAR    achClass[MAX_PATH] = TEXT("");  // buffer for class name 
    DWORD    cchClassName = MAX_PATH;  // size of class string 
    DWORD    cSubKeys=0;               // number of subkeys 
    DWORD    cbMaxSubKey;              // longest subkey size 
    DWORD    cchMaxClass;              // longest class string 
    DWORD    cValues;              // number of values for key 
    DWORD    cchMaxValue;          // longest value name 
    DWORD    cbMaxValueData;       // longest value data 
    DWORD    cbSecurityDescriptor; // size of security descriptor 
    FILETIME ftLastWriteTime;      // last write time 
 
    DWORD i, retCode; 
 
    TCHAR  achValue[MAX_VALUE_NAME]; 
    DWORD cchValue = MAX_VALUE_NAME; 
 
    // Get the class name and the value count. 
    retCode = RegQueryInfoKey(
        hKey,                    // key handle 
        achClass,                // buffer for class name 
        &cchClassName,           // size of class string 
        NULL,                    // reserved 
        &cSubKeys,               // number of subkeys 
        &cbMaxSubKey,            // longest subkey size 
        &cchMaxClass,            // longest class string 
        &cValues,                // number of values for this key 
        &cchMaxValue,            // longest value name 
        &cbMaxValueData,         // longest value data 
        &cbSecurityDescriptor,   // security descriptor 
        &ftLastWriteTime);       // last write time 
 
    // Enumerate the subkeys, until RegEnumKeyEx fails.
    
    if (cSubKeys)
    {
        printf( "\nNumber of subkeys: %d\n", cSubKeys);
 
        for (i=0; i<cSubKeys; i++) 
        { 
            cbName = MAX_KEY_LENGTH;
            retCode = RegEnumKeyEx(hKey, i,
                     achKey, 
                     &cbName, 
                     NULL, 
                     NULL, 
                     NULL, 
                     &ftLastWriteTime); 
            if (retCode == ERROR_SUCCESS) 
            {
                _tprintf(TEXT("(%d) %s\n"), i+1, achKey);
            }
        }
    } 
 
    // Enumerate the key values. 
 
    if (cValues) 
    {
        printf( "\nNumber of values: %d\n", cValues);
 
        for (i=0, retCode=ERROR_SUCCESS; i<cValues; i++) 
        { 
            cchValue = MAX_VALUE_NAME; 
            achValue[0] = '\0'; 
            retCode = RegEnumValue(hKey, i, 
                achValue, 
                &cchValue, 
                NULL, 
                NULL,
                NULL,
                NULL);
 
            if (retCode == ERROR_SUCCESS ) 
            { 
                _tprintf(TEXT("(%d) %s\n"), i+1, achValue); 
            } 
        }
    }
}
 
void __cdecl _tmain(void)
{
   HKEY hTestKey;
 
   if( RegOpenKeyEx( HKEY_CURRENT_USER,
        TEXT("SOFTWARE\\Microsoft"),
        0,
        KEY_READ,
        &hTestKey) == ERROR_SUCCESS
      )
   {
      QueryKey(hTestKey);
   }
   
   RegCloseKey(hTestKey);
}


В пустом консольном проекте всё отлично работает. Теперь пытаюсь перенести всё это добро в windows forms: содержимое из функции main ставлю в обработчик кнопки, код функции QueryKey добавляю в класс формы. Вылезает ошибка:
Код
1>c:\users\soundtrack\documents\visual studio 2010\projects\1\1\Form1.h(131): error C2872: FILETIME: неоднозначный символ
1>          может быть "C:\Program Files\Microsoft SDKs\Windows\v7.0A\include\windef.h(378) : _FILETIME FILETIME"
1>          или       "c:\program files\reference assemblies\microsoft\framework\.netframework\v4.0\mscorlib.dll : System::Runtime::InteropServices::FILETIME"
не очень разобрался с тем, что именно компилеру не нравится, и что он предлагает. Прошу помощи и разъяснения от опытных программистов
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru