Witam, jak zrobić program pobierający swoją nazwe w winapi? może być ze ścieżką
![]()
Witam, jak zrobić program pobierający swoją nazwe w winapi? może być ze ścieżką
![]()
int main(int argc, char *argv[])
pod zmienna argv[0] masz nazwe programu o ile dobrze pamiętam
no tak ale wolałabym to nie w main() zwykłej tylko w winmain() bo to winapi jakąś funkcją
Moze zacznij od tego co to jest 'swoja nazwa'. Chodzi ci o konkretna nazwe pliku ktory jest zaladowany jako glowny modul procesu? Cala sciezke? A moze nazwe uslugi jesli takowa piszesz?
GetModuleHandle z NULL zwraca ci handle to glownego modulu.
A potem Module32First/Next, i porownujesz HMODULE, jak znaldziesz - masz nazwe.If this parameter is NULL, GetModuleHandle returns a handle to the file used to create the calling process (.exe file).
Jest jeszcze opcja zeby uzyc GetCommandLine(), i tak wlasnie dziala argv[] w c, ale nie zapominaj ze command like moze byc dowolne, jest to kopia 2 argumentu CreateProcess.