Wygenerowanie pliku EXE z linkami do pliku html

0

Witam serdecznie.
Zaczynam dopiero swoją przygodę z C# więc proszę o wyrozumiałość.
Mam pytanie dotyczące małego programu który będzie otiwierał napisany dokument html. Mój problem jest następujący jeśli program jest uruchamiany na moim komputerze wszystko jest ok. Jeżeli na innym jest problem z odnalezieniem ścieżki dostępu do tego dokumentu. Chodziło by mi o coś takiego aby zgrać program oraz stronę html na nośnik tak żeby odnośnik działał bez problemu na każdm komputerze.Bardzo proszę o pomoc.

Z góry dziękuję za pomoc i wyrozumiałość :-)

0

jak odwołujesz się do dokumentu html i gdzie znajdują się oba pliki, tzn. html i exe?
skorzystaj z adresu względnego, jeśli oba pliki są w tym samym katalogu, po prostu wpisz nazwę pliku html, bez podawania ścieżki do niego
najlepiej pokaż jak odwołujesz się do tego pliku

0
namespace WindowsFormsApplication9
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start(@"C:\Program Files (x86)\Opera\opera.exe", "file://localhost/D:/ABC%20BHP/index.html");
        }
    }
}

W ten sposób jest tu wszystko ok?

Plik programu exe, który otwiera html i plik html są w różnych katalogach

dodanie znaczników <code class="csharp"> - fp

2

A na drugim komputerze jest zainstalowana Opera, a plik html znajduje się w odpowiednim katalogu?

Ogólnie zapisywanie na sztywno ścieżek w kodzie programu to zły pomysł. Zarówno Opery może nie być, jak i może być zainstalowana w innym katalogu, podobnie z tym plikiem. Jeśli to plik Twojej aplikacji, to trzymaj go w katalogu aplikacji, a nie gdzieś indziej.

0

Powiem w ten sposób chodizło by o to aby program uruchamiał htmla w intuicyjnym programie Jaki będzie zainstalowany na danym komputerze tylko nie wiem jaki zrobić wtedy zapis. Czyli rozumiem że plik html ze wszystkimi załącznikami powinien znajdować się w katalogu gdzie jest zapisany projekt, a czy ścieżka powinna mieć taki sam zapis tylko oczywiście kierować się pod inny adres?

Jak zapisać komędę, która by prowadziła do dokumentu html? i gdzie zapisać załącznik czy w folderze z projektem? czy gdzieś indziej? Aby wszystko działało na każdym komputerze!
Bardzo proszę o odpowiedź

0

Po pierwsze to nigdy nie wiadomo jaką przeglądarkę i w jakiej lokalizacji ma zainstalowaną użytkownik, więc na sztywno (ze ścieżką bezwzględną) nic nie zrobisz;

Nie piszę w C# więc gotowych instrukcji nie dostaniesz, jednak po pierwsze użyj ścieżki względnej żeby nie trzeba było marnować czasu na pobieranie aktualnej ścieżki, z jakiej został uruchomiony program, a po drugie użyj czegoś na kształt ShellExecute, czyli instrukcji, która otworzy plik w programie, który aktualnie przypisany jest do danego rozszerzenia;

Dzięki tym zabiegom nie dość, że uniezależnisz się od kombinacji ze ścieżką, to jeszcze od zainstalowanej w komputerze przeglądarki (na dodatek w przypadku zainstalowanych kilku - uruchomi się ta, która jest przeglądarką domyślną).

3

Jak zapisać komędę, która by prowadziła do dokumentu html? i gdzie zapisać załącznik czy w folderze z projektem? czy gdzieś indziej? Aby wszystko działało na każdym komputerze!
Bardzo proszę o odpowiedź

  1. Dodaj/wklej swój plik html do projektu w Solution Explorerze.
  2. We właściwościach tego pliku ustaw wartość "Copy to Output Directory" na "Copy always".
  3. Kod, którym otworzysz stronę html w domyślnej przeglądarce to po prostu:
Process.Start("index.html");
0

rozwiązałem to trochę inaczej i działa a mianowicie

 System.Diagnostics.Process.Start(@".\\ABC BHP\index.html"); 

teraz pojawia się następujący problem :-( Po wygenerowaniu programu wyświetla się strona index ale bez grafiki oraz nie działają linki do podstron jak to poprawić??

0

Zapewne pliki nie są tam gdzie na to wskazują ścieżki w pliku index.html.... Musisz zawrzeć w projekcie wszystkie pliki tej strony i poprawić ewentualnie ścieżki. Powinieneś sam na to już wpaść...

0

Może jest jakiś łatwiejszy sposób żeby to zrobić moja strona ma kilkadziesiąt podstron więc będę miał wiele zabawy:-(

0

To może podaj przykładowy link i przykładową docelową lokalizację pliku?

0

Poradziłem sobie tylko muszę zmienić koncepcję bo mam za dużo podstron do indexu.
Dzięki za pomoc ;-)

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