Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/12: Рейтинг темы: голосов - 12, средняя оценка - 5.00
Mary_MJ
1

Помогите с реестром)))

04.05.2009, 16:31. Показов 2505. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создать SDI-приложение с пунктами меню Save, Load,Un_Load. При выборе Save ,создаются элементы ключа,КОТОРЫЕ ПОТОМ ДОЛЖНЫ СОХРАНЯТьСЯ В ВИДЕ РАЗДЕЛА. В результате выбора пункта Load раздел загружается из файла . Пункт Un-Load позволяет удалить подключи. Использовать функции RegCreateKeyEx,RegSetValueEx,REgCloseKey,RegOpenKe y,RegSaveKey,
RegUnLoadKey,RegDeleteKey. :'(
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.05.2009, 16:31
Ответы с готовыми решениями:

Работа с реестром
Здравствуйте, не могу понять, почему не открывается ветка в реестре ? #include "stdafx.h"...

Работа с реестром
Здравствуйте . Возникла такая задача: нужно , чтобы при запуске оконного приложения , после того ,...

Работа с реестром
Здравствуйте! Вот в этом цикле происходит запись хэша пароля в (unsigned int)HashData. for (int i...

Работа с реестром
Здравствуйте. Возникла проблема с чтением реестра :( Вместо нормального текста либо пустая строка,...

2
Эксперт С++
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
04.05.2009, 16:36 2
Цитата Сообщение от Mary_MJ Посмотреть сообщение
Создать SDI-приложение с пунктами меню Save, Load,Un_Load. При выборе Save ,создаются элементы ключа,КОТОРЫЕ ПОТОМ ДОЛЖНЫ СОХРАНЯТьСЯ В ВИДЕ РАЗДЕЛА. В результате выбора пункта Load раздел загружается из файла . Пункт Un-Load позволяет удалить подключи. Использовать функции RegCreateKeyEx,RegSetValueEx,REgCloseKey,RegOpenKe y,RegSaveKey,
RegUnLoadKey,RegDeleteKey. :'(
По поводу работы с реестром:
https://www.cyberforum.ru/cpp-... post147818
А вообще описания указанных тобой функций есть в MSDN, причем с примерами.
1
Mary_MJ
04.05.2009, 19:42 3
вот код для пункта Save - почему-то ничего не создается(((

===="QueryVal.h"======
#include <windows.h>
#define IDM_EXIT 100
#define IDM_ABOUT 301
#define IDM_SAVE 302
#define IDM_LOAD 303
#define IDM_UNLOAD 304

LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM);


=====main.cpp================

#include "QueryVal.h"


HINSTANCE hInst; // current instance

LPCTSTR lpszAppName = "MyApp";
LPCTSTR lpszTitle = "My Application";


int APIENTRY WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPTSTR lpCmdLine, int nCmdShow)
{
MSG msg;
HWND hWnd;
WNDCLASSEX wc;

// Register the main application window class.
//............................................
wc.style = CS_HREDRAW | CS_VREDRAW;
wc.lpfnWndProc = (WNDPROC)WndProc;
wc.cbClsExtra = 0;
wc.cbWndExtra = 0;
wc.hInstance = hInstance;
wc.hIcon = LoadIcon( hInstance, lpszAppName );
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
wc.lpszMenuName = lpszAppName;
wc.lpszClassName = lpszAppName;
wc.cbSize = sizeof(WNDCLASSEX);
wc.hIconSm = LoadImage( hInstance, lpszAppName,
IMAGE_ICON, 16, 16,
LR_DEFAULTCOLOR );

if ( !RegisterClassEx( &wc ) )
return( FALSE );

hInst = hInstance;

// Create the main application window.
//....................................
hWnd = CreateWindow( lpszAppName,
lpszTitle,
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, 0,
CW_USEDEFAULT, 0,
NULL,
NULL,
hInstance,
NULL
);

if ( !hWnd )
return( FALSE );

ShowWindow( hWnd, nCmdShow );
UpdateWindow( hWnd );

while( GetMessage( &msg, NULL, 0, 0) )
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}

return( msg.wParam );
}


LRESULT CALLBACK WndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam )
{
switch( uMsg )
{
case WM_COMMAND :
switch( LOWORD( wParam ) )
{
case IDM_SAVE:
{
LONG lRes1, lRes2;
TCHAR szBuffer[128]=".APPI";
TCHAR szName[64];
TCHAR szIconFile[64];
HKEY hKey,hKeyMain;
DWORD dwData, dwDisp;
LPCSTR FilePath = "MY";


lRes1 = RegCreateKeyEx(HKEY_CLASSES_ROOT, szBuffer,
0, NULL, REG_OPTION_NON_VOLATILE,
KEY_ALL_ACCESS, NULL, &hKey, &dwDisp);
RegCloseKey(hKeyMain);

lRes2 = RegOpenKeyEx( HKEY_CLASSES_ROOT,
szBuffer, 0, KEY_ALL_ACCESS,
&hKeyMain );

if ( ( lRes1==ERROR_SUCCESS ) && ( lRes2==ERROR_SUCCESS ) )
{
DWORD dwType;
DWORD dwBytes =64;

RegSetValueEx( hKeyMain, "First", 0,REG_NONE,
NULL, dwBytes );


RegSaveKey(hKeyMain,FilePath,NULL);
RegCloseKey(hKeyMain);
}
else MessageBox(hWnd,"No create","Error",MB_OK);
}
break;



case IDM_EXIT :
DestroyWindow( hWnd );
break;
}
break;

case WM_DESTROY :
PostQuitMessage(0);
break;

default :
return( DefWindowProc( hWnd, uMsg, wParam, lParam ) );
}

return 0;
}

===== файл ресурсов(часть)=========
MYAPP MENU
BEGIN
POPUP "&File"
BEGIN
MENUITEM "Save", IDM_SAVE
MENUITEM "Load", IDM_LOAD
MENUITEM "Un_Load", IDM_UNLOAD
MENUITEM "E&xit", IDM_EXIT
END

END
04.05.2009, 19:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.05.2009, 19:42
Помогаю со студенческими работами здесь

Работа с реестром
Доброго времени суток! Такой вопрос: Функция RegSetValue( rKey, 0, REG_SZ, currentDirectory,...

Работа с реестром
У кого-нибудь есть рабочая программа, которая демонстрирует работу с реестром? (чтение из реестра,...

Работа с реестром
Необходимо узнать про все установленные графические редакторы через реестр. Так же где найти в...

Как работать с реестром
Здравствуйте! Я изучаю WINAPI. У меня вопрос по работе с реестром Windows через WINAPI. Как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru