Процесс. Запустите (“IExplore.exe”); <— действительно ли это надежно?

Процесс. Запустите ("IExplore.exe");

Это всегда работает на каждой машине? В противном случае, как сделать это правильно?

...Править:.................................

Проблема с Процессом. Запустите ("http://www.example.com/"); это, мы должны быть нацелены на локальный файл HTML с некоторым querystring, указывающим который страница загрузиться в HTML frameset. Таким образом, наш URL похож на следующее:

G:\PathToHelpFolder\index.html#search?page=1.html

Если Вы передаете этот путь к Процессу. Запустите, ошибка сгенерирована: "не может найти файл". Это вызывается querystring в конце. (#search?page=1.html)

Так, мы должны запустить проводник (или браузер по умолчанию был бы лучше) с filepath как параметр командной строки. Мы нашли метод выше в документации MSDN. (Процесс. Запустите ("IExplore.exe") ;) Наш единственный вопрос состоит в том, если этот метод достаточно надежен для развертывания к коммерческому приложению. Моно не проблема, только системы окон предназначены.

... РЕДАКТИРОВАНИЕ: Наше решение......

Наше решение состояло в том, чтобы получить браузер по умолчанию из реестра и запустить это с имени файла как аргумент. (как указано в: Запуск браузера по умолчанию с HTML из файла, затем перейдите к определенной привязке),

6
задан Community 23 May 2017 в 12:01
поделиться

7 ответов

Это должно работать на каждом компьютере, на котором есть исполняемый файл с именем IExplore.exe в месте, которое Process.Start может найти с помощью переменной среды PATH.

Process.Start документация

Запуск процесса с указанием имени файла аналогичен вводу информации в диалоговом окне «Выполнить» в меню «Пуск» Windows. Следовательно, имя файла не обязательно должно представлять исполняемый файл. Это может быть файл любого типа, расширение которого связано с приложением, установленным в системе. Например, имя файла может иметь расширение .txt, если у вас есть связанные текстовые файлы с редактором, например Блокнотом, или у него может быть .doc, если вы связали файлы .doc с инструментом обработки текста, например Microsoft Word. Точно так же, как диалоговое окно «Выполнить» может принимать имя исполняемого файла с расширением .exe или без него, расширение .exe является необязательным в параметре fileName. Например, вы можете установить для параметра fileName значение «Notepad.exe» или «Notepad».

Если кто-то переименовал или удалил IExplore.exe , или он находится в месте, которого нет в переменной среды PATH, то это не сработает.

Однако, если ваша цель - открыть браузер, я бы пошел с передачей URL-адреса, как предлагали другие.

3
ответ дан 8 December 2019 в 02:40
поделиться

Если ваша цель - открыть браузер для перехода на определенную страницу, лучше использовать только URL-адрес страницы:

Process.Start("http://www.example.com/");

В этом случае будет использоваться браузер пользователя по умолчанию. (Я, например, был бы раздражен, если бы вынужден был использовать IE.)

22
ответ дан 8 December 2019 в 02:40
поделиться

Однажды мне понадобилось имя браузера по умолчанию (без открытия) для дурацкое приложение, которое я создал, я нашел здесь отличный учебник: http://ryanfarley.com/blog/archive/2004/05/16/649.aspx

5
ответ дан 8 December 2019 в 02:40
поделиться

Вы также можете просто добавить сюда URL-адрес. ( Process.Start (" http://somewebsite.com "); ), который всегда будет работать и использовать стандартный браузер.

2
ответ дан 8 December 2019 в 02:40
поделиться

Вероятно, вам следует напрямую запустить файл HTML, чтобы ассоциация пользователя учитывалась. Нет ничего более раздражающего для меня как пользователя, чем наличие какого-то пакета, вынуждающего меня использовать IE, когда я четко установил свои предпочтения на использование другого браузера.

2
ответ дан 8 December 2019 в 02:40
поделиться

Попробуйте следующее:

Process.Start ("file: /// g: /PathToHelpFolder/index.html#search? Page = 1.html ");

0
ответ дан 8 December 2019 в 02:40
поделиться

Вы можете создать простой HTML-файл, который перенаправляет фактическую ссылку, которую вы хотите, а затем запустить процесс, указывающий на этот более простой URL-адрес.

0
ответ дан 8 December 2019 в 02:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: