Вторник, 11.12.2018, 13:47 Приветствую вас Гость | Группа "Гости" 


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Neo, xXxSh@dowxXx  
delfcode » Обсуждения » Остальные языки программирования » [C++] Браузер
[C++] Браузер
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
Группа: Модераторы
Сообщений: 467
Статус: Offline
Так элементарно же. Считать этот путь с реестра. И посмотреть Version info у файла. Это и будет полная версия бразера. Например, у меня 11.64 так, что должно быть всё ОК. smile

Сообщение отредактировал Волк-1024 - Пятница, 15.06.2012, 10:59
 
NeoДата: Пятница, 15.06.2012, 10:56 | Сообщение # 5
Модератор
Зарегистрирован: 04.05.2010
Группа: Модераторы
Сообщений: 317
Статус: 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
Создать файл не проблема спасибо скоро опробую.
 
delfcode » Обсуждения » Остальные языки программирования » [C++] Браузер
  • Страница 1 из 1
  • 1
Поиск:

delfcode.ru © 2008 - 2018 Хостинг от uCoz