Меню
Категории
Как узнать имя файла который запущен на C++
5 марта, 2008 Программинг

Как узнать имя файла который запущен на C++. Для того чтобы узнать полный путь имя самого себя, будем использовать функцию GetModuleFileName.

Функция GetModuleFileName извлекает полный путь доступа к файлу, содержащему указанный модуль, которым владеет текущий процесс.

GetModuleFileName работает только с модулями, которыми владеет текущий процесс. Чтобы определить модули, которые принадлежат другому процессу, используют функцию GetModuleFileNameEx.

DWORD GetModuleFileName(
HMODULE hModule,
LPTSTR lpFilename,
DWORD nSize
);

Если функция завершается успешно, возвращаемое значение – длина строки, которая копируется в буфер, в TCHARs. Если буфер является слишком маленьким, чтобы вместить имя модули, строка обрезается до величины nSize, а функция возвращает значение nSize.

hModule — Дескриптор модуля, путь к которому требуется. Если этот параметр – ПУСТО (NULL), GetModuleFileName извлекает путь к исполняемому файлу текущего процесса.В нашем случае используем hInstance.

Код:

#include “windows.h”
int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)
{
char buffer[MAX_PATH];
GetModuleFileName(hInstance,buffer,MAX_PATH);
MessageBox(NULL,buffer,”My_Name”,NULL);
return 0;
}

В результате получаем MessageBox с полным путем к самому себе.

"1" Comment
  1. Спасибо огромное. То, что искала!

Добавить комментарий




*