Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2009, 16:10   #1
Mary_MJ
 
Регистрация: 04.05.2009
Сообщений: 2
Лампочка Помогите написать прогу по работе с реестром. WIN API

Создать SDI-приложение с пунктами меню Save, Load,Un_Load. При выборе Save ,создаются элементы ключа,КОТОРЫЕ ПОТОМ ДОЛЖНЫ СОХРАНЯТьСЯ В ВИДЕ РАЗДЕЛА. В результате выбора пункта Load раздел загружается из файла . Пункт Un-Load позволяет удалить подключи. Использовать функции RegCreateKeyEx,RegSetValueEx,REgClo seKey,RegOpenKey,RegSaveKey,
RegUnLoadKey,RegDeleteKey.

Mary_MJ вне форума Ответить с цитированием
Старый 04.05.2009, 16:43   #2
fbus
Форумчанин
 
Аватар для fbus
 
Регистрация: 23.10.2008
Сообщений: 460
По умолчанию

Код:
RegCreateKeyEx,RegSetValueEx,REgCloseKey,RegOpenKe y,RegSaveKey,
RegUnLoadKey,RegDeleteKey.
ну вот почти готовая прога, осталось лекции немного почитать
fbus вне форума Ответить с цитированием
Старый 04.05.2009, 18:38   #3
Mary_MJ
 
Регистрация: 04.05.2009
Сообщений: 2
Смущение

вот код для пункта 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

Последний раз редактировалось Mary_MJ; 04.05.2009 в 19:39.
Mary_MJ вне форума Ответить с цитированием
Старый 04.05.2009, 20:46   #4
Ky3Heu,
Пользователь
 
Регистрация: 01.04.2009
Сообщений: 94
По умолчанию

ОБАЛДЕТЬ!!!! Зачем так все усложнять????
Код:
Reg:Tregistry;
Reg->Tregistry->Crteate;
Reg->RootKey=HKEY_.....
Reg->Write.....
Reg->Read.....
Си конечно не помню, но вроде все так... И просто.....
По ракетам и хоккею - Россияне всех сильней!

Последний раз редактировалось Ky3Heu,; 04.05.2009 в 20:50.
Ky3Heu, вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Win Api alexov Общие вопросы C/C++ 4 29.01.2009 13:33
Win API aleks_n Общие вопросы Delphi 0 15.09.2008 11:07
Рисование графики на Win Api помогите exolot128 Помощь студентам 12 08.10.2007 15:24