Разработка приложения для чтения локального и удаленного реестра Windows

Автор: Пользователь скрыл имя, 12 Января 2012 в 09:30, курсовая работа

Описание работы

Реестр Windows – это иерархическая централизованная база данных, используемая в ОС Microsoft Windows 98, Windows CE, Windows NT и Windows 2000 для хранения сведений, необходимых для настройки операционной системы для работы с пользователями, программными продуктами и устройствами.
В реестре хранятся данные, которые необходимы для правильного функционирования Windows.

Содержание

ВВЕДЕНИЕ 3
2. Выбор и обоснование средств информационной системы 4
2.1. Требования к системе. UML диаграммы 5
2.2. Состав технических устройств, система интерфейсов 10
2.3. Способы взаимодействия пользователя с системой, организация вычислительных процессов 11
2.4. Состав информационного и программного обеспечения 12
2.4.1. Структура и форматы данных 12
2.4.2. Описание методов приложения 15
3. Заключение 16
3.1. Достоинства и недостатки разработанной информационной системы 16
3.2. Пути совершенствования разработанного программного продукта 17
3.3. Рекомендации пользователю 17
4. Используемая литература 18
Приложение. Листинг программы 19

Работа содержит 1 файл

Курсовая работа по ИСИС Смолин А.В. гр.4509.docx

— 652.20 Кб (Скачать)

_sok->write("SER");

_sok->write(TwoInt(QString::fromWCharArray(Buffer).size()).toAscii().data());

_sok->write(QString::fromWCharArray(Buffer).toAscii().data());

}

QString strSUB;

int SUBSize;

void MainWindow::QueryKey2(HKEY hKey)

{

    TCHAR    achKey[MAX_KEY_LENGTH];

    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;

    DWORD dwDataSize,dwType;

    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)

    {

        _sok->write("SUB");

        _sok->write(TwoInt(SUBSize).toAscii().data());

        _sok->write(strSUB.toAscii().data());

        _sok->write(QString::number(QString::number(cSubKeys).length()).toAscii().data());

        _sok->write(QString::number(cSubKeys).toAscii().data());

        for (i=0; i<cSubKeys; i++)

        {

            cbName = MAX_KEY_LENGTH;

            retCode = RegEnumKeyEx(hKey, i,

                     achKey,

                     &cbName,

                     NULL,

                     NULL,

                     NULL,

                     &ftLastWriteTime);

            if (retCode == ERROR_SUCCESS)

Информация о работе Разработка приложения для чтения локального и удаленного реестра Windows