Uruchamianie zewnętrznych aplikacji poprzez hiperłącze na płycie CD

0

Cześć, napisałem aplikację w C# coś na wzór spisu treści. Po kliknięciu w hiperłącze komenda: Process.Start("E:/123.exe");
uruchamia zewnętrzny program. Chciałbym wgrać ten "spis treści" na płytkę, a nie wszystkie napędy mają przypisaną literkę "E". Co muszę zrobić by działało na wszystkich komputerach?

Pozdrawiam

0

Możesz(a nawet powinieneś) sprawdzić czy coś takiego jak twoja nazwa pliku w określonej lokalizacji istnieje, jeśli nie ma pliku możesz sprawdzić inne lokalizacje(np. poprzez zmianę znaku odpowiedzialnego za literę dysku w stringu).

0

Tak wiem. Plik "123.eze" jest na płycie wraz z tym "spisem treści". Ja na kompie mam przypisaną literkę "E" do napędu optycznego, natomiast w pracy "F". Co muszę zrobić by cieszyć się płytą zarówno w domu jak i pracy?

0

użyć ścieżki względnej od położenia pliku exe albo wyciągnąć ze ścieżki pliku exe literę dysku

0

Masz coś takiego jak DriveInfo.GetDrives(opis i przykłady znajdziesz sobie w google/MSDN). Dzięki czemu będziesz miał informację o tym jakie dyski masz dostępne. Do tego możesz jeszcze poszukać Directory(opis i przykłady też bez problemu w google/MSDN). Zastosowanie obu pozwoli programowi który uruchamiasz określić gdzie ma szukać i sprawdzić czy masz w ogóle co uruchomić(bo ktoś ci może np. wsadzić pustą płytę do napędu i ci się program wysypie).

0

Tak wiem. Plik "123.exe" jest na płycie wraz z tym "spisem treści". Na kompie mam przypisaną literkę "E" do napędu optycznego, natomiast w pracy "F". Co muszę zrobić by cieszyć się płytą zarówno w domu jak i w pracy?

1

W programie C# pobrać ścieżkę do tegoż uruchomionego programu jednym z dostępnych sposobów:
https://www.google.com/search?q=c%23+get+executable+path

(absolutnie NIE pobierać tzw. katalogu bieżącego - tylko ścieżkę do uruchomionego exeka)

Załóżmy że otrzymasz d:\spis_treści.exe. Za pomocą Path.GetFullPath pozbywasz się nazwy exeka (zostaje ścieżka), potem za pomocą Path.Combine dodajesz 123.exe do otrzymanej ścieżki.

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