Вытащить браузер системы по умолчанию.
пс: зачем это надо? может, предложат другие решения?
Надо это вот для чего: есть прога, выводящая среди прочего адреса сайтов, хочу, чтобы при нажатии на адрес происходил переход (эмуляция гиперссылки). К сожалению, из API доступно не очень много. В частности, могу перехватить onClick на адресе. Вот и хочу по нажатию рождать браузер.
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);
}
}
}
http://support.microsoft.com/kb/q224816/
ShellExecute(NULL, "open", "http://ya.ru", NULL, NULL, SW_SHOWNORMAL);
, - жму лапу
Оставить комментарий
skvoria
Извиняюсь, если несколько сумбурно сформулирую вопрос - не силен в программированиии под Win. Вопрос такой: как мне вызвать при помощи ActiveX браузер системы, прописанный по умолчанию?Например, ИЕ я могу извлечь так:
objBrowser = new ActiveXObject("InternetExplorer.Application");
А как для дефолтного браузера?