powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как узнать каталог из которого запущен ехе'шник
18 сообщений из 18, страница 1 из 1
Как узнать каталог из которого запущен ехе'шник
    #32203695
Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как узнать каталог из которого запущен ехе'шник
...
Рейтинг: 0 / 0
Как узнать каталог из которого запущен ехе'шник
    #32203725
MrAlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если в C++Builder, то ExtractFilePath(Application->ExeName)
...
Рейтинг: 0 / 0
Как узнать каталог из которого запущен ехе'шник
    #32203735
Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, в MFC
...
Рейтинг: 0 / 0
Как узнать каталог из которого запущен ехе'шник
    #32203739
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The GetModuleFileName function retrieves the full path and filename for the executable file containing the specified module.

MSDN || WIN32SDK рулит...
...
Рейтинг: 0 / 0
Как узнать каталог из которого запущен ехе'шник
    #32203765
Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да не то, это я читал, мне надо узнать из каталога запущено мое приложение, т.е. где он находится для того чтобы окрывать оттуда файлы, например ini, вот как это сделать
...
Рейтинг: 0 / 0
Как узнать каталог из которого запущен ехе'шник
    #32203836
Dmitry S. Kravchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что argv[0]-то, не работает?
...
Рейтинг: 0 / 0
Как узнать каталог из которого запущен ехе'шник
    #32203860
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саныч, не тормози, а

The GetCurrentDirectory function retrieves the current directory for the current process.

ведь все есть в хелпе
...
Рейтинг: 0 / 0
Как узнать каталог из которого запущен ехе'шник
    #32203872
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для тех кто в танке.
GetModuleFileName - полный путь к твоему ехешнику. _поный путь_. оттяпать оттуда имя файла, и готова директория.

GetCurrentDirectory - полный путь к текущей директории, то есть директории, из которой твое приложение _запущено_
...
Рейтинг: 0 / 0
Как узнать каталог из которого запущен ехе'шник
    #32204207
Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GetCurrentDirectory - если приложение запущено вручную из етого каталога, тогда работает, а если по ярлыку, то указывает рабочий стол, собака...
GetModuleFileName - там какой-то первый параметр которого я не знаю...
Мужыки киньте кусочек кода, пожатуйста
...
Рейтинг: 0 / 0
Как узнать каталог из которого запущен ехе'шник
    #32204282
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
char tmp[ 255 ];
memset(&tmp[ 0 ], 0 , 255 );
int rl=GetModuleFileName(GetModuleHandle(NULL),&tmp[ 0 ], 255 );
for (int i=rl- 1 ;i= 0 ;i --)
 
  {
    if (tmp[i]='\\')
        i=- 1 ; else
        tmp[i]= 0 ;
  }
printf( "%s\n" ,&tmp[ 0 ]);

не проверял, писал прямо сдесь.
...
Рейтинг: 0 / 0
Как узнать каталог из которого запущен ехе'шник
    #32204285
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поправка, в цикле условие i<=0 а не i=0 :-)
...
Рейтинг: 0 / 0
Как узнать каталог из которого запущен ехе'шник
    #32204326
maratka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TCHAR pszMeName[_MAX_PATH];
::GetModuleFileName(NULL, pszMeName, sizeof(pszMeName));
думаю работать будет
С GetCurrentDirectory - текущую директорию можно указать в ярлыке к проге, в поле "Start in...", так что она может изменяться
...
Рейтинг: 0 / 0
Как узнать каталог из которого запущен ехе'шник
    #32204329
maratka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
для получения/составления директорий, имен удобно пользоваться _splitpath(..)/_makepath(..) из c runtime
...
Рейтинг: 0 / 0
Как узнать каталог из которого запущен ехе'шник
    #32204783
Hunter_eea
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что Вы паритесь Вот
char szPath[0x100];
GetModuleFileName(NULL, szPath, sizeof(szPath));
Всегда возвращает путь exe'шника с именем файла
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как узнать каталог из которого запущен ехе'шник
    #39380766
Zetroks
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alex_k,
Думаю такой вариант был бы более красивым и, возможно, быстрым.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
AnsiString GetExeDir(){
        const int LEN = 255;
        char tmp[LEN];
        memset(tmp,0,LEN);
        int i=GetModuleFileName(GetModuleHandle(NULL),tmp,LEN)-1;
        do{
                if(tmp[i]=='\\'){
                        break;
                }
                tmp[i]=0;
        }
        while(--i);
        return AnsiString(tmp);
}
...
Рейтинг: 0 / 0
Как узнать каталог из которого запущен ехе'шник
    #39380860
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zetroksalex_k,
Думаю такой вариант был бы более красивым и, возможно, быстрым.
Код: plaintext
1.
AnsiString GetExeDir()



Что может быть красивого в примере кода на нестандартных никому неведомых классиках?
Топик уже год как никому не нужен.
...
Рейтинг: 0 / 0
Как узнать каталог из которого запущен ехе'шник
    #39381045
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivZetroksalex_k,
Думаю такой вариант был бы более красивым и, возможно, быстрым.
Код: plaintext
1.
AnsiString GetExeDir()



Что может быть красивого в примере кода на нестандартных никому неведомых классиках?
Топик уже год как никому не нужен.17-03=14. Топик уже четырнадцать лет никому не нужен.
...
Рейтинг: 0 / 0
Как узнать каталог из которого запущен ехе'шник
    #39382114
ermak.nn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Некропостеры...
Я бы распарсил argv[0]
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как узнать каталог из которого запущен ехе'шник
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]