Вытащить браузер системы по умолчанию.

skvoria

Извиняюсь, если несколько сумбурно сформулирую вопрос - не силен в программированиии под Win. Вопрос такой: как мне вызвать при помощи ActiveX браузер системы, прописанный по умолчанию?
Например, ИЕ я могу извлечь так:
objBrowser = new ActiveXObject("InternetExplorer.Application");
А как для дефолтного браузера?

Maurog

а с чего ты взял, что другие браузеры доступны по АктивХ ?
пс: зачем это надо? может, предложат другие решения?

skvoria

Как я уже сказал, в виндах не силен. Может и недоступны, поэтому и спрашиваю.
Надо это вот для чего: есть прога, выводящая среди прочего адреса сайтов, хочу, чтобы при нажатии на адрес происходил переход (эмуляция гиперссылки). К сожалению, из API доступно не очень много. В частности, могу перехватить onClick на адресе. Вот и хочу по нажатию рождать браузер.

Dasar

допустим так

static void OpenUrl(string url)
{
using (RegistryKey htmlkey = Registry.ClassesRoot.OpenSubKey(".html"
{
string htmlName = htmlkey.GetValue(null).ToString;
using (RegistryKey commandKey = Registry.ClassesRoot.OpenSubKey(htmlName + @"\shell\open\command"
{
string command = commandKey.GetValue(null).ToString.Trim;
string program;
string arguments;
if (command.StartsWith(@""""
{
int index = command.IndexOf('"', 1);
program = command.Substring(0, index + 1).Trim('"', ' ');
arguments = command.Substring(index + 1);
}
else
{
int index = command.IndexOf(' ');
program = command.Substring(0, index).Trim;
arguments = command.Substring(index).Trim;
}
arguments = arguments.Replace("%1", url);


Process.Start(program, arguments);
}
}

}

Maurog

предлагаю по-другому:
http://support.microsoft.com/kb/q224816/

ShellExecute(NULL, "open", "http://ya.ru", NULL, NULL, SW_SHOWNORMAL);

skvoria

Офигенно работает, джентельмены.
, - жму лапу
Оставить комментарий
Имя или ник:
Комментарий: