Tworzenie programu domyślnego.

0

Witam,
mam na komputerze plik o nazwie kot.htm i klikam na nim prawym przyciskiem,
następnie biorę otwórz za pomocą i wybieram firefox,
po chwili uruchamia mi się firefox i widzę tam załadowany dokument kot.htm.

Jak to możliwe ze bez otwarcia programu firefox, program wiedział jaka jest ścieżka do pliku kot.htm
Co muszę poczytać żeby stworzyć taką funkcje w swoim programie w Delphi?

2

Do obejrzenia przez regedit.exe

HKEY_CLASSES_ROOT\.htm\(Domyślna)=FirefoxHTML
HKEY_CLASSES_ROOT\FirefoxHTML\shell\open\command\(Domyślna)="C:\Program Files\Mozilla Firefox\firefox.exe" -osint -url "%1"
0

po zmianie tych kluczy program będzie domyślny, ale nadal nie będzie posiadał tej funkcji co opisałem

1
nowyuser napisał(a):

po zmianie tych kluczy program będzie domyślny, ale nadal nie będzie posiadał tej funkcji co opisałem

Bo se je musisz napisać?!

0

muszę napisać ale gdzie szukać informacji pomocnych przy pisaniu, muszę wiedzieć jak taka funkcja działa w takich programach, prawie wszystkie programy ją posiadają

3

ścieżkę do pliku odczytasz w programie za pomocą

paramstr(1)
0
nowyuser napisał(a):

muszę napisać ale gdzie szukać informacji pomocnych przy pisaniu, muszę wiedzieć jak taka funkcja działa w takich programach, prawie wszystkie programy ją posiadają

Przecież ci napisałem:
HKEY_CLASSES_ROOT\FirefoxHTML\shell\open\command(Domyślna)="C:\Program Files\Mozilla Firefox\firefox.exe" -osint -url "%1"

0

myślałem ze to jest bardziej skomplikowane a wystarczyło w swoim programie dodać taką linijkę:

procedure TForm1.FormCreate(Sender: TObject);
begin
Webbrowser1.Navigate(ParamStr(1));
end;
2
nowyuser napisał(a)

Jak to możliwe ze bez otwarcia programu firefox, program wiedział jaka jest ścieżka do pliku kot.htm
Co muszę poczytać żeby stworzyć taką funkcje w swoim programie w Delphi?

No przecież nic się z nikąd nie bierze - program podczas uruchamiania sprawdza ilość parametrów, z jaką został uruchomiony; Jeśli ilość jest większa niż 0 to znaczy, że jest co najmniej jeden dodatkowy argument; Funkcja ParamCount zwraca ilość wszystkich dodatkowych parametrów, z jakimi uruchomiona została aplikacja; Więc jeśli uruchomisz program normalnie (klikając dwukrotnie na plik wykonywalny) funkcja ParamCount zwróci liczbę 0, bo nie ma dodatkowych parametrów; Jeśli jednak uruchomisz program np. z wiersza poleceń:

C:\>MyApp.exe C:\File.htm
funkcja ParamCount zwróci liczbę 1, bo aplikację uruchomiono z dodatkowym parametrem - tutaj ze ścieżką pliku C:\File.htm;

Aby odczytać wartości dodatkowych parametrów należy wykorzystać funkcję ParamStr, gdzie pierwszy ciąg (o indeksie 0) to nazwa naszej aplikacji, a kolejne to wartości dodatkowych argumentów; Więc funkcja ParamStr(0) zwróci ścieżkę naszej aplikacji - C:\MyApp.exe, a ParamStr(1) wartość pierwszego dodatkowego argumentu - C:\File.htm; Analogicznie sprawdza się wartości kolejnych argumentów jeśli istnieją: ParamStr(2), ParamStr(3) itd.; Ich ilość odczytuje się funkcją ParamCount i na jej podstawie indeksuje się pętlę;

Do poczytania: ParamCount oraz ParamStr.

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