Jak wysłać kilka plików do programu?

0

Jak wysłać kilka plików do programu, tzn tak, jak można do winamp'a.
Dodałem w rejestrze nową pozycję do submenu w plikach .bmp ("C:\1.exe" "%1"') i po kliknięciu otwiera program i wczytuje plik (Memo1.lines.add( ParamStr(1) )).

Problem jest taki, że jak zaznaczę kilka plików i "wyślę" do programu to każdy otwiera w nowym programie, a ja chcę żeby tylko dodawały się do listy w memo1, coś tak jak w winampie.

Próbowałem z wysyłaniem komunikatów, ale cosik nie idzie.

0

Wczytuj wszystkie pliki z linii komend, a nie tylko pierwszy.
Użyj ParamCount, aby wiedzieć ile tych plików jest do dodania i później wszytkie je dodaj np. ParamStr(1) później ParamStr(2) itd. aż do ostatniego (zrób sobie pętlę).

0

Niestety to nie działa otwiera każdy plik w nowym oknie.

Próbowałem też tak:
Program może się uruchomić tylko w jednej kopii, jak otwiera drugą to wysyła parametr do pierwszej, ale przecież nie da się wysłać ścieżki do pliku jako komunikatu.

0

nie da się wysłać ścieżki do pliku jako komunikatu

Da się: WM_COPYDATA

0

Niestety to nie działa otwiera każdy plik w nowym oknie.

w FAQ jest jak zablokowac uruchamianie naszego programu kilka razy

co do odczytania plikow to masz wczesniej podane paramcount+paramstr
w winxp to sie inaczej chyba przesyla.. ale wystarczy chwilka zabawy ze stringami aby to ladnie wyciagnac (ta liste)

(jak zaznaczysz pliki i wybierzes z prawego klawisza otworz w.. czy jakos tak to otworzyc sie powinienen jeden program, jesli jednak nie to blokujesz i wysylasz nazwe pliku do juz uruchomionego gdzie dodajesz odpowiednia pozycje na co sam juz wpadles :))

0

Ok, tylko nie mogę sobie poradzić w WM_COPYDATA bo tam są parametry w integer a nie string. Czy to znaczy że muszę zamieniać każdy znak na integer i wysyłać go osobno? Proszę o pomoc, lub jakiś przykład (szukałem na forum ale nie mogłem znaleźć).

0

On nic mi to nie mówi ;( tzn bo ja to piszę w delphi. nie mogę tego przerobić (fuck)

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