Как вызвать IE, чтобы открыть локальный файл HTML? - PullRequest
1 голос
/ 13 июля 2009

Я использую VSTS 2008 + C # + .Net 2.0. И я хочу вызвать IE, чтобы открыть HTML-файл, расположенный в подпапке страниц моего текущего исполняемого файла.

Поскольку моя программа может работать в Windows Vista, я хочу вызывать IE с правами администратора (Запуск от имени администратора).

Любой код, чтобы сделать ссылку? Меня особенно интересует, как писать переносимый код, который работает как в Windows Vista, так и в Windows XP (я думаю, что в Windows XP нет функции, подобной Run As Administrator)

РЕДАКТИРОВАТЬ 1:

Я использую следующий код, но не открывается окно с приглашением UAC (Контроль доступа пользователей), чтобы я мог выбрать Продолжить для запуска с администратором. Есть идеи, что не так?

    ProcessStartInfo startInfo = new ProcessStartInfo("IExplore.exe");
    startInfo.Verb = "RunAs";
    startInfo.Arguments = @"C:\test\default.html";
    Process.Start(startInfo);

спасибо заранее, Geroge

Ответы [ 3 ]

3 голосов
/ 13 июля 2009

Для работы с относительными путями рассмотрим метод GetFullPath .

string fullPath = Path.Combine(Path.GetFullPath(@".\dir\dir2"), "file.html");
System.Diagnostics.Process.Start("iexplore.exe", fullPath);
2 голосов
/ 13 июля 2009
using System.Diagnostics;

Process the_process = new Process();
the_process.StartInfo.FileName = "iexplore.exe";
the_process.StartInfo.Verb = "runas";
the_process.StartInfo.Arguments = "myfile.html";
the_process.Start();

глагол "runas" заставит его подсказать UAC и запустить его с правами администратора.

вы можете запустить этот код под Vista и XP. Это даст тот же эффект. Что касается файла, который вы хотите открыть, вы можете передать его в качестве аргумента iexplore.exe с помощью the_process.arguments = "

2 голосов
/ 13 июля 2009
System.Diagnostics.Process.Start("iexplore.exe", @"C:\mypage.html");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...