[c++ Builder] Otwarcie programu, przez uruchomienie konkretn

0

Hmm pewnie to już było ale nie bardzo wiem czego szukać, więc zapytam. Jak zrobić, aby w chwili uruchomienia jakiegoś pliku obsługiwanego przez moją aplikację, ta aplikacja uruchomiła się i od razu otwarła ten plik. Trochę to zagmatwane, więc przykład:
załóżmy, że mam klon notatnika i chcę by po kliknięciu pliku txt (choćby przez "uruchom za pomocą") otwarł się mój program z już wczytanym dokumentem.

0

To chyba użytkownik decyduje jaki program zostanie użyty (a nie twórca programu).

0

Musisz się dopisać do HKEY_CLASSES_ROOT, żeby system rozpoznawał jaki program ma otwierać dany plik.
System wtedy jakoś przesyła plik do programu, ale nie orientuję się jak, trzeba będzie głębiej w dokumentacji poszperać.

0

Hmm mnie bardziej interesuje, co zrobić aby mój program zarreagował odpowiednio już po uruchomieniu. Chodzi mi o to:
Jak Word to robi że po otwarciu doca, program otwiera się już z otwarty dokumentem. Jak w ogóle rozróżnić sposób uruchomienia? Skąd pobrać ścieżkę dokumentu?

0

Miałem formatowanie, i nie mam chwilowo żadnego kompilatorka. Ale to chyba było tak:
ParamCount() - zwraca ilość parametrów
ParamStr(int) zwraca konkretny parametr

ParamStr(0) to ścieszka programu, a potem są pozostałe parametry. Więc spróbuj przy uruchomieniu programu zrobić tak:

if (0<ParamCount() && FileExists(ParamStr(1)))
{
//odpowiednio reagujesz, ParamStr(1) to nazwa pliku
}
0

Skąd pobrać ścieżkę dokumentu?

Z linii komend. Jezeli w rejestrze Windows jest powiazanie pliku z programem lub uzytkownik wybierze "otworzy za pomoca" i da twoj program, to system wstawi plik jako parametr przy uruchamianiu aplikacji.

Mozna dokladnie to skonfigurowac, zobacz sobie powiazania plikow w Eksploratorze Windows.

1 użytkowników online, w tym zalogowanych: 0, gości: 1