Разработка приложения для чтения локального и удаленного реестра 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 Кб (Скачать)

                                        itoa(dwData, szBuff, 10);

                                        strcat(szText, szBuff);

                                        strcat(szText, ")");

                                    QString st=szText;

                                        _sok->write(TwoInt(st.size()).toAscii().data());

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

                                }

                                break;

                        }

                case REG_QWORD:

                        {

                                dwDataSize = 8;

                                DWORD qwData[2];

                                if(RegQueryValueEx(hKey, achValue, NULL, NULL, (LPBYTE)&qwData, &dwDataSize) == ERROR_SUCCESS)

                                {

                                        DWORD dwData = qwData[0];

                                        char szBuff[16];

                                        char szText[32];

                                        itoa(dwData, szBuff, 16);

                                        strcpy(szText, "0x");

                                        strcat(szText, szBuff);

                                        strcat(szText, " (");

                                        itoa(dwData, szBuff, 10);

                                        strcat(szText, szBuff);

                                        strcat(szText, ")");

                                        QString st=szText;

                                            _sok->write(TwoInt(st.size()).toAscii().data());

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

                                }

                                break;

                        }

                case REG_BINARY:

                        {

                                         char szText[23]="Неизвестный тип данных";

                                         QString st=szText;

                                             _sok->write(TwoInt(st.size()).toAscii().data());

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

                        }

                }

 //////////////////////////////////////

            }

        }

    }

    if ((cSubKeys==0)&&(cValues==0)) _sok->write("NSV");

}

void MainWindow::onSokReadyRead()

{

    quint16 HSize=0;

    quint16 StrSize=0;

    QString hKey;

    QString str=NULL;

    HKEY hTestKey;

    SUBSize =_sok->read(2).toInt();

 strSUB=_sok->read(SUBSize);

   HSize =_sok->read(2).toInt();

hKey=_sok->read(HSize);

    StrSize =_sok->read(2).toInt();

str=_sok->read(StrSize);

if (hKey=="HKEY_CLASSES_ROOT") hTestKey=HKEY_CLASSES_ROOT;

if (hKey=="HKEY_CURRENT_CONFIG") hTestKey=HKEY_CURRENT_CONFIG;

if (hKey=="HKEY_CURRENT_USER") hTestKey=HKEY_CURRENT_USER;

if (hKey=="HKEY_LOCAL_MACHINE") hTestKey=HKEY_LOCAL_MACHINE;

if (hKey=="HKEY_USERS") hTestKey=HKEY_USERS;

if( RegOpenKeyEx(hTestKey,(WCHAR*)str.utf16()

              ,

        0,

        KEY_READ,

        &hTestKey) == ERROR_SUCCESS

      )

   {

           QueryKey2(hTestKey);

   } else

{

//Ответ на ошибку

    _sok->write("NSV");

}

   RegCloseKey(hTestKey);

}

bool f=false;

void MainWindow::on_pushButton_clicked()

{

if (f==false)

{

    server=new QTcpServer(this);

 connect(server,SIGNAL(newConnection()),this,SLOT(newConnection()));

 if (!server->listen(QHostAddress::Any,ui->spinBox->value()))

 {

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