Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> RegQuery ValueEx, GetLastError()==0 
:(
    Опции темы
Mark4545
Дата 29.7.2007, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 111
Регистрация: 6.11.2006

Репутация: нет
Всего: нет



Код

if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\MediaPlayer\\",0,KEY_READ,&key)==ERROR_SUCCESS)
  {
      MessageBox(0,"ok","1",0);
      if(RegQueryValue(key,"Installation Directory",PlayerPath,&buffsize)==ERROR_SUCCESS)
      {
          MessageBox(0,"Ok","2",0);
      }
      else
      {
          sprintf(debug,"%d",GetLastError());
          MessageBox(0,debug,"error",0);
      }
  }

При вынолнении этого кода  2 ой месседж бокс выскакивает с кодом GetLastError ==0
в мсдн написано 0=ERROR_SUCCESS так почему же так. А не выскакивает меесадж бокс 
MessageBox(0,"Ok","2",0); никак не могу понять. Заранее спс.
PM MAIL   Вверх
586
Дата 29.7.2007, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 39
Всего: 146



Код ошибки возвращает функция RegQueryValue, GetLastError не нужно использовать.
PM   Вверх
Mark4545
Дата 29.7.2007, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 111
Регистрация: 6.11.2006

Репутация: нет
Всего: нет



ок ща посмотрим.

Добавлено через 9 минут и 21 секунду
еррор код 2(ERROR_FILE_NOT_FOUND)
Почему никак не могу разобрать.
PM MAIL   Вверх
586
Дата 29.7.2007, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 39
Всего: 146



не найден ключ значение (Value)

Это сообщение отредактировал(а) 586 - 29.7.2007, 17:26
PM   Вверх
Mark4545
Дата 29.7.2007, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 111
Регистрация: 6.11.2006

Репутация: нет
Всего: нет



так он существует)

Добавлено через 26 секунд
я же не от балды его взял) смотрел через регедит есть.
PM MAIL   Вверх
586
Дата 29.7.2007, 17:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2243
Регистрация: 8.5.2006

Репутация: 39
Всего: 146



и в правду не найден

Цитата
The RegQueryValue function retrieves the data associated with the default or unnamed value of a specified registry key. The data must be a null-terminated string.
...
lpSubKey 
[in] Pointer to a null-terminated string containing the name of the subkey of the hKey parameter for which the default value is retrieved. 
Key names are not case sensitive.

рабочий код:
Код
#include <windows.h>
#include <stdio.h>

int APIENTRY WinMain(HINSTANCE, HINSTANCE, LPSTR, INT)
{
    char debug[50];
    char PlayerPath[260]={0};
    DWORD buffsize=sizeof(PlayerPath);
    DWORD dwErr;
    DWORD type=REG_SZ;
    HKEY key;

    if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\MediaPlayer\\",0,KEY_READ,&key)==ERROR_SUCCESS)
    {
      MessageBox(0,"ok","1",0);
      dwErr=RegQueryValueExA(key,"Installation Directory", 0, &type, (LPBYTE)PlayerPath, &buffsize);
      if(dwErr==ERROR_SUCCESS)
      {
          MessageBoxA(0,PlayerPath,"2",0);
      }
      else
      {
          sprintf(debug,"%d", dwErr);
          MessageBox(0,debug,"error",0);
      }
      RegCloseKey(key);
    }
    return 0;
}


Это сообщение отредактировал(а) 586 - 29.7.2007, 18:07
PM   Вверх
Mark4545
Дата 29.7.2007, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 111
Регистрация: 6.11.2006

Репутация: нет
Всего: нет



сенкс 2 586. Пошел разбирать код
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0452 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.