| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > чтение из реестра |
| Автор: ShMary 30.11.2007, 00:44 |
| Здравствуйте, уважаемые! просмотрела множество примеров, связанных с чтением из реестра, и попыталась реализовать свою программу, но натолкнулась на огромное число препятствий. По порядку. В реестр, а именно в HKEY_CURRENT_USER и далее Software\\Microsoft\\MYYSOFTWARE прописываю переменную MyPath и в нее помещаю путь и название необходимого файла.в файле хранятся параметры для расчета. это делаю в Delphi. теперь мне в MVС++ нужно открыть именно этот файл и запустить расчеты. вот код, который наворотила я. ПОЖАЛУЙСТА помогите! я в MVС++ очень мало работала... #define REGEDITH #include <windows.h> void main() { HKEY hkey; char Data[256]; DWORD cbData=sizeof(Data), type; RegOpenKeyA(HKEY_CURRENT_USER, "Software\\Microsoft\\MYYSOFTWARE", &hkey); memset(Data, 0, cbData); RegQueryValueEx(hkey,'MyPath',NULL,&type,(LPBYTE)&Data[0],&cbData); RegCloseKey(hkey); char fname [20]= FNAME; // FILE *in; // // char st[80]; // printf("%s\n", fname); // (*)Так я делала, когда просто в начеле проги if ((in = fopen(fname, "rt"))==NULL) // объявляла #define FNAME 'd:\chisla.dat' { // printf("файл не сущ."); // getch(); // } printf("\n"); // int i=0; double doubleVar; while (!feof(in)) { fscanf(in, "%s", st); sscanf(st, "%lf", &doubleVar); printf("Next double variable: %lf\n", doubleVar); per[i]=doubleVar; i++; } fclose(in); Полагаю теперь вместо (*) нужно проверять есть ли такой ключ..и файл. Как мне перейти к тому, чтоб открывать указанный в реестре файл? Заранее ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО! |
| Автор: JackYF 30.11.2007, 15:20 |
| ShMary, пользуйся кнопкой "код". Это раз. Два. Чтение реестра - это не чистый С++, поэтому добро пожаловать в соседние разделы, там, где обсуждается С++-программирование под Винду, в раздел по Visual C++. |
| Автор: archimed7592 30.11.2007, 17:46 |
| IMHO, WinAPI |
| Автор: JackYF 30.11.2007, 18:01 |
Можно и в винапи. Главное, чтобы не здесь. |
| Автор: MAKCim 30.11.2007, 19:38 | ||
ShMary,
|
| Автор: ShMary 1.12.2007, 21:52 |
| Все.Хорошо! ОБЯЗАТЕЛЬНО БУДУ использовть кнопку "код". и пойду в соседние разделы. Спасибо за совет! |
| Автор: archimed7592 1.12.2007, 21:53 |
| Эээммм, даже не знаю как тебе сказать... Дело в том, что ты и так уже в соседнем разделе |
| Автор: ShMary 1.12.2007, 21:59 |
| ммммммда...пролистала вверх и сама увидела! только пока легче не стало...проблема-то осталась! |
| Автор: ShMary 1.12.2007, 23:25 | ||
| с учетом вышеизложенных советов... В реестр, а именно в HKEY_CURRENT_USER и далее Software\\Microsoft\\MYYSOFTWARE прописываю переменную MyPath и в нее помещаю путь и название необходимого файла.в файле хранятся параметры для расчета. это делаю в Delphi. теперь мне в MVС++ нужно открыть именно этот файл и запустить расчеты. вот код, который наворотила я. ПОЖАЛУЙСТА помогите! я в MVС++ очень мало работала...
Полагаю теперь вместо (*) нужно проверять есть ли такой ключ..и файл. И создать переменную с результатом чтения ключа.Как мне перейти к тому, чтоб открывать указанный в реестре файл? Заранее ОГРОМНОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО! ПОЖАЛУЙСТА, ДАЙТЕ КОМЕНТАРИЙ ИЛИ СОВЕТ. |
| Автор: 586 2.12.2007, 01:05 | ||
|
| Автор: ShMary 4.12.2007, 21:43 |
| Здравствуйте! Спасибо ОГРОМНОЕ за ответ!!! код, правда, не совсем такой, какой мне надо было, но ОЧЕНЬ ПОМОГ! немного подправила под себя- и все замечательно! все работает, как надо! СПАСИБО!!!!!! Движусь дальше, диплом пишется!.. Этот вопрос можно считать закрытым. |