Консультация № 31297
12.12.2005, 05:53
0.00 руб.
0 4 2
Доброе время суток.
Работаю на C++ Builder.
Подскажите есть возможность, зная имя проги, узнать в каком каталоге она установленна?

Обсуждение

Неизвестный
12.12.2005, 06:24
общий
это ответ
Здравствуйте, AllexZ!

Если вы имеете ввиду адрес вашей же программы, то да:
AnsiString Application->ExeName;

Если любого другого приложения, то через обычный поиск...

Успехов!
Неизвестный
12.12.2005, 06:57
общий
Как и где искать, на сколько мне известно, программы при установки регестрируеться в реестре. Как к ним обратиться?
Неизвестный
12.12.2005, 07:31
общий
это ответ
Здравствуйте, AllexZ!
Это можно сделать благодаря функции API GetModuleFileName(). В приложении код для VC который получает с помощью этой функции путь и удаляет из строки название программы и возращает строку, которая является путем.

Приложение:
// author - vint (http://forum.sources.ru/)CString GetCurrDir(void){CString strTemp = "", m_strData = "";int pos = 0;char m_chBuffer[MAX_PATH];GetModuleFileName(NULL, m_chBuffer, MAX_PATH);strTemp = (LPCTSTR) m_chBuffer; pos = strTemp.ReverseFind(‘\\‘);m_strData = strTemp.Mid(0, pos + 1);return m_strData;}
Неизвестный
12.12.2005, 07:51
общий
На компе установлен WinRar, мне надо узнать в какую директорию он установлен.
Форма ответа