De unde știi numele fișierului care rulează pe c »blog informativ
De unde știi numele fișierului care se execută în C ++
De unde știi numele fișierului care se execută în C ++. Pentru a cunoaște numele calea completă de sine, vom folosi funcția GetModuleFileName.
Funcția GetModuleFileName preia calea completă către fișierul care conține modulul specificat, care este deținută de actualul proces.
GetModuleFileName funcționează numai cu modulul care deține procesul curent. Pentru a identifica modulele care aparțin unui alt proces, folosiți funcția GetModuleFileNameEx.
DWORD GetModuleFileName (
HMODULE hModule,
LPTSTR lpFilename,
DWORD nDimensiune
);
Dacă funcția reușește, valoarea returnată - șirul de lungime, care este copiat un tampon în TCHARs. În cazul în care buffer-ul este prea mic pentru a se potrivi numele modulului, șirul este trunchiat la o valoare nDimensiune, iar funcția returnează o valoare nDimensiune.
hModule - mâner modul, calea pe care doriți. Dacă această opțiune - lăsați (NULL), GetModuleFileName preia calea către fișierul executabil al protsessa.V curent cazul nostru vom folosi hInstance.
#include "windows.h"
int APIENTRY WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
char buffer [MAX_PATH];
GetModuleFileName (hInstance, tampon, MAX_PATH);
MessageBox (NULL, tampon, "My_Name", NULL);
return 0;
>
Rezultatul este un MessageBox cu o cale completă pentru sine.