cool1
|
Дата: Пятница, 15.06.2012, 07:38 | Сообщение # 1
|
Участник
Зарегистрирован: 14.07.2010
Группа: Пользователи
Сообщений: 238
Статус: Offline
|
Привет, подскажите пожалуйсто как можно опредилить браузер по умолчанию через c++?
Или хотябы подскажите ключи реестра. |
|
|
|
xXxSh@dowxXx
|
Дата: Пятница, 15.06.2012, 10:30 | Сообщение # 2
|
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
|
cool1 ветка реестра:
HKEY_CLASSES_ROOT\http\shell\open\command |
|
|
|
cool1
|
Дата: Пятница, 15.06.2012, 10:39 | Сообщение # 3
|
Участник
Зарегистрирован: 14.07.2010
Группа: Пользователи
Сообщений: 238
Статус: Offline
|
о спасибо) токо там "C:\Program Files\Opera\Opera.exe" "%1" есть идея определения браузера? просто может быть же еще D:\olololo\Opera\Opera.exe
Есть ли в системе еще следы браузера по умолчанию? Знаю есть https, но мне бы какуюнибудь инфу где точно написано opera, firefox, maxton, safari, ie, chrome и т.д.
А за ключ спасибо! Пригодится |
|
|
|
Волк-1024
|
Дата: Пятница, 15.06.2012, 10:55 | Сообщение # 4
|
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 463
Статус: Offline
|
Так элементарно же. Считать этот путь с реестра. И посмотреть Version info у файла. Это и будет полная версия бразера. Например, у меня 11.64 так, что должно быть всё ОК. 
Сообщение отредактировал Волк-1024 - Пятница, 15.06.2012, 10:59
|
|
|
|
Neo
|
Дата: Пятница, 15.06.2012, 10:56 | Сообщение # 5
|
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 309
Статус: Offline
|
Я бы такой вариант предложил:
Файла с расширением html ассоциируется обычно с браузером по умолчанию.
Если создать такой файл с расширением html и пременить FindExecutable,то можно узнать кто должен открыть такой файл
Code
#include "stdio.h"
#include "shellapi.h";
................................................
char * GetNames(char * St, char Res[255])
{int j,i,l=0;
j=0;
for (i=StrLen(St); i; i--)
if (St[i]=='\\') {
j=i;
break;
};
j++;
for (i=j; i<=StrLen(St); i++, l++)
Res[l]=St[i];
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{FILE * F;
char A[255],B[255];
char *name="1.html";
F=fopen(name,"wt");
fclose(F);
FindExecutable(name,"",A);
DeleteFile(name);
ShowMessage(A);
GetNames(A,B);
ShowMessage(B);
}
Так можно определять какая программа открывает файл с каким-либо расширением.
Недостаток метода:
Нужно создавать файл 1.html.
Хотя,если точно знать,что в каком-то месте лежит файл с таким расширением,то можно указать его путь в функцию.
|
|
|
|
cool1
|
Дата: Пятница, 15.06.2012, 11:09 | Сообщение # 6
|
Участник
Зарегистрирован: 14.07.2010
Группа: Пользователи
Сообщений: 238
Статус: Offline
|
Создать файл не проблема спасибо скоро опробую. |
|
|
|