[C++, WinAPI] Miejsce uruchomienia aplikacji
Ostatnio zmodyfikowano 2011-12-30 16:43
xevuel Temat założony przez niniejszego użytkownika |
[C++, WinAPI] Miejsce uruchomienia aplikacji » 2011-12-29 11:43:56 Mam wrażenie, że taki temat już był, tylko nie mogę go znaleźć... Jak w WinAPI pobrać ścieżkę i nazwę mojego programu, który został uruchomiony?
Muszę zmieniać rejestr w zależności od położenia tego pliku (modyfikuje on jedno rozszerzenie). |
|
Mrovqa |
» 2011-12-29 15:11:51 Użyj tego: LPTSTR GetAppPath( void ) { TCHAR app_path[ MAX_PATH ]; GetModuleFileName( GetModuleHandle( NULL ), app_path, MAX_PATH ); return app_path; }
|
|
xevuel Temat założony przez niniejszego użytkownika |
» 2011-12-29 15:34:01 Dzięki wielkie :) Chociaż nie musiałeś od razu funkcji pisać, wystarczyłby link do MSDN-a ;)
//EDIT: No tak :) Ja będę musiał zmienić na string ;) |
|
Mrovqa |
» 2011-12-29 15:35:22 Nie pisałem, w moim programie to miałem. Zwykłe kopiuj-wklej :) No może z mała zmianą, u mnie zwracała obiekt typu wstring. |
|
malan |
» 2011-12-29 22:42:01 @Mrovqa: Gdzie Ty kompilowałeś ten kod? Jaki kompilator to przepuścił nie rzucając chociażby ostrzenia? #include <iostream>
char * function() { char a[ 4 ]; a[ 0 ] = 'a'; a[ 1 ] = 'b'; a[ 2 ] = 'c'; a[ 3 ] = '\0'; std::cout << "I'm in `function`, a = " << a << std::endl; return a; }
int main() { char * b = function(); std::cout << "I'm in `main`, b = " << b << std::endl; } 1>------ Rebuild All started: Project: 5893, Configuration: Debug Win32 ------ 1> main.cpp 1>e:\programowanie\temporary\5893\5893\main.cpp(11): warning C4172: returning address of local variable or temporary 1> 5893.vcxproj -> E:\Programowanie\temporary\5893\Debug\5893.exe ========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========
|
|
pekfos |
» 2011-12-30 16:40:09 Heh, gdy było wstring pewnie działało :P |
|
Mrovqa |
» 2011-12-30 16:43:11 Pisałem, że miałem (mam) inną funkcję. Swoją przerobiłem i bez kompilacji tu wkleiłem. Mi zwracało wstring :) Tak po za tym - ostrzeżeniami za bardzo się nie przejmuje... jak zacząłem pisać pierwsze programy to były one błahe, później w MTC było ich za dużo by czytać (np. porównanie signed X z unsigned X :P). Niemniej jednak od następnego projektu zacznę pisać czysto bez warningów :) (zamierzam :D). |
|
« 1 » |