Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Доступ к реестру

3.2K
16 июня 2011 года
Gazzy
38 / / 02.08.2006
Здравствуйте

подскажите пожалуйста как вытащить из реестра путь до установленной программы?
277
16 июня 2011 года
arrjj
1.7K / / 26.01.2011
Никак.
316
16 июня 2011 года
Alm3n
889 / / 29.05.2009
почему никак? если приложение известно и оно сохраняет в какой-то ветке информацию о каталоге, тогда можно.
277
16 июня 2011 года
arrjj
1.7K / / 26.01.2011
Для конкретного приложения - да, для любого случайного - скорее нет чем да чем скорее да чем нет:
Paint.Net: HKLM\Software\Paint.Net\TargetDir
Perl: HKLM\Software\Perl\@
VirtualBox Additions: HKLM\Software\Oracle\VirtualBox Guest Additions\InstallDir
Firefox 4: HKLM\Software\Mozilla\Mozilla Firefox\4.0 (ru)\Main\Install Directory
.NetFW: HKLM\Software\Microsoft\.NetFramework\InstallRoot
Dev-cpp: HKLM\Software\Dev-C++\Install_Dir
Вобщем кто где хочет тот так и хранит
3.2K
22 июня 2011 года
Gazzy
38 / / 02.08.2006
Приложение известно, и где хранит путь тоже известно.
как в программе вытащить этот путь? подскажите где можно про этот вопрос прочитать
277
22 июня 2011 года
arrjj
1.7K / / 26.01.2011
на мсдн
aks, опередил))
Пример:
Код:
#include <iostream>
#include <Windows.h>
#include <tchar.h>
 
using std::cout;
using std::wcout;
using std::endl;
 
#ifdef _UNICODE
#  define _tcout wcout
#else
#  define _tcout cout
#endif // _UNICODE
 
int _tmain(int argc, _TCHAR* argv[])
{
  // Устанавливаем русскую кодовую страницу для вывода кириллицы
  _tsetlocale(LC_ALL, _T("Russain"));
 
  // Строка которую будем писать в реестр
  _TCHAR szTestString[] = _T("This is the test");
  // Ключ который будем создавать
  _TCHAR szPath[] = _T("Software\\RegistrySample\\");
 
  HKEY hKey;
 
  // Создаем ключ в ветке HKEY_CURRENT_USER
  if(RegCreateKeyEx(HKEY_CURRENT_USER, szPath, 0, NULL, REG_OPTION_VOLATILE, KEY_WRITE, NULL, &hKey, NULL) != ERROR_SUCCESS){
    _tcout << _T("При создании ключа произошла ошибка") << endl;
    return 1;
  }
 
  // Пишем тестовую строку в созданный ключ
  if(RegSetValueEx(hKey, _T("Test string"), 0, REG_SZ, (BYTE*)szTestString, sizeof(szTestString)) != ERROR_SUCCESS){
    _tcout << _T("При записи строки произошла ошибка") << endl;
    return 2;
  }
 
  // Закрываем описатель ключа
  if(RegCloseKey(hKey) != ERROR_SUCCESS){
    _tcout << _T("При закрытии ключа произошла ошибка") << endl;
    return 3;
  };
 
_TCHAR szBuf[MAX_PATH];
  DWORD dwBufLen = MAX_PATH;

//открываем для чтения
if(RegOpenKeyEx(HKEY_CURRENT_USER,szPath,0,KEY_ALL_ACCESS,&hKey) != ERROR_SUCCESS){
    _tcout << _T("При открытии ключа произошла ошибка") << endl;
    return 4;
  }
//Запрашиваем значение ключа
if(RegQueryValueEx(hKey,_T("Test string"),NULL,NULL,(BYTE*) szBuf,&dwBufLen) != ERROR_SUCCESS){
    _tcout << _T("При чтении строки произошла ошибка") << endl;
    return 5;
 }
//Закрываем
  if(RegCloseKey(hKey) != ERROR_SUCCESS){
    _tcout << _T("При закрытии ключа произошла ошибка") << endl;
    return 6;
  }
  _tcout << szBuf << endl;
 
  _tsystem(_T("pause"));
 
  return 0;
}
3.2K
22 июня 2011 года
Gazzy
38 / / 02.08.2006
спасибо, пойду разбираться :)
3.2K
22 июня 2011 года
Gazzy
38 / / 02.08.2006
а подскажите еще где можно разобраться с типами данных. допустим чем отличается char от tchar и т.д
278
22 июня 2011 года
Alexander92
1.1K / / 04.08.2008
TCHAR - это не более, чем определение для удобства работы с юникодом и многобайтовыми кодировками. Выглядит примерно следующим образом:

 
Код:
#ifdef UNICODE
typedef wchar_t TCHAR;
#else
typedef char TCHAR;
316
22 июня 2011 года
Alm3n
889 / / 29.05.2009
Цитата: Gazzy
а подскажите еще где можно разобраться с типами данных.


http://msdn.microsoft.com/en-us/library/aa383751(v=vs.85).aspx
если только для строк:
http://msdn.microsoft.com/en-us/library/dd374131(v=vs.85).aspx

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог