Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.27;
Скачать: CL | DM;

Вниз

Как определить какой браузер установлен по умолчанию?   Найти похожие ветки 

 
R4D][   (2003-01-08 16:57) [0]

Привет всем! Вопрос вот такой: как определить какой браузер установлен по умолчанию. Вопрос вроде простой, но я везде искал, но негде не нашел: Regmon"ом просмотрел куда обращается браузер при запуске - не помогло, пол MSDN просмотрел - естественно стандартной функции нет, я даже tdump user.exe просмотрел - никакой стандартной функции для определения браузера, установленного по умолчанию нет. Последняя надежда - это вы!!!(ОС WinME)


 
Song ©   (2003-01-08 17:00) [1]

В смысле название или запускаемый файл? Что именно?


 
R4D][   (2003-01-08 17:03) [2]

Запускаемый фаил!


 
Song ©   (2003-01-08 17:29) [3]

FindExecutable() для расширения html например


 
R4D][   (2003-01-08 17:38) [4]

Спасибо, когда проверю(наверное уже завтра) - скажу результаты.


 
smok_er   (2003-01-08 19:08) [5]

Да по-моему проще в реестр залезть и поправить. Там это все элементарно.
пример для htmlfile
Лезем в HKEY_CLASSES_ROOT
находим ключ htmlfile
заходим в него
в нем ключ shell, затем open
выставляем ключ command на свою программу и все либо просто считываем значение, если нужно просто узнать сабж.

Кстати, там же и иконку можно поменять.

Желаю удачи!


 
Song ©   (2003-01-08 20:52) [6]

2smok_er (08.01.03 19:08)
Всё это и делает FindExecutable()


 
R4D][   (2003-01-08 21:37) [7]

Thanks to smok_er. Вот еще вопрос по ShellExecutable: Он не хочет показывать пути, в которых используется символ пробела! Например, вот этот код(1), в моем случае, должен в итоге привести к тому, что будет выведен MessageBox с такой строчкой "C:\Program Files\NetCaptor\NetCaptor.exe", а на самом деле получается сообщение со строкой "C:\Program". Если, например, использовать вместо "C:\Windows\Readme.htm", что-нибудь содержащее jpg картинку, то все будет нормально, ибо у моего просмотрщика картинок путь без пробелов. Ну и, наконец вопрос - как избавиться от этой проблемы? В общем, smok_er уже назвал вариант ответа, но у меня в WinME нет ключа htmlfile, а есть html, где вместо путя к проге указан GUID интерфейса? Да и хочеться, чтобы прога была более переносимой(если функции из версии в версию Windows менялись не так и значительно(по крайне мере в Win9x), то про реестр нельзя так сказать)

(1):
...
var
BrN: PChar;
...
GetMem(BrN,255);
FindExecutable(PChar("C:\Windows\Readme.htm"),"",BrN);
MessageBox(0,BrN,"",mb_ok);
FreeMem(BrN);


 
Smok_er   (2003-01-09 00:04) [8]

Надо брать в кавычки вроде


 
R4D][   (2003-01-09 11:31) [9]

Что именно?


 
R4D][   (2003-01-09 11:51) [10]

Если ты имел в виду FindExecutable(PChar(""D:\WIndows\Readme.htm""),"",BrN), то тот же эффект, как и без кавычек...может у меня винда глючит?


 
Verg ©   (2003-01-09 13:08) [11]

Например, у меня под NT4 WS на C:\Program Files\index.htm
FindExecutable выдает
C:\PROGRA~1\Plus!\MICROS~1\iexplore.exe

Что полностью соответствует записи в регистри:
HKEY_CLASSES_ROOT\htmlfile\shell\open\command\(default)

Это же можно посмотреть в Windows Explorer/View/Options/File Types


 
R4D][   (2003-01-09 13:12) [12]

To Verg:
Можешь дать исходник, а то че то тот который я предложил не работает, может я не грамотно воспользовался функцией? Или все же это глюк винды?


 
Verg ©   (2003-01-09 13:47) [13]


> Можешь дать исходник


Дык, я ж из товей мессаги его и дернул :)


implementation
uses ShellApi;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
BrN: PChar;
begin
GetMem(BrN,255);
FindExecutable(PChar("C:\Program Files\index.htm"),"",BrN);
MessageBox(0,BrN,"",mb_ok);
FreeMem(BrN);
end;




 
R4D][   (2003-01-09 13:50) [14]

Странно, а у меня показывает сообщение "C:\Program"...все надоело...сношу нафиг WinME, то MAPI не инициализируется у него, то C:\Program...
Спасибо всем, вы очень помогли.


 
Smok_er   (2003-01-10 00:12) [15]

>>но у меня в WinME нет ключа htmlfile, а есть html,
честно говоря, в своих проектах пользуюсь именно предложенным мною способом. Неужели в ВинМе нет такого ключа?
Как тогда можно установить значения без использования прямого доступа к реестру?


 
R4D][   (2003-01-12 14:23) [16]

2Smok_er: прошу прощения, я тут недавно опять полез в реестр и нашел этот самый ключ, но у него какая-то странная структура:
В shell - параметр по умолчанию - NetCaptor;
В нем же есть подраздел - NetCaptor, в котором, в свою очередь, есть подраздел command, где в ключе по умолчанию и находится путь к исполняемому фаилу.
Че-то все больно запутанно, но тут должна быть система. Если кто-нибудь знает как это работает, пожалуйста ответьте.



Страницы: 1 вся ветка

Текущий архив: 2003.02.27;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.017 c
3-87241
iZEN
2003-02-07 15:10
2003.02.27
Выборка select *...pole like %Руз% в IB6.0.1


3-87351
GAlexis
2003-02-10 16:14
2003.02.27
Многопользовательский режим


14-87678
Zhenka
2003-02-10 19:39
2003.02.27
Что значит эта надпИсь


3-87285
Seacat
2003-02-07 14:39
2003.02.27
обработка курсора oracle в delphi


8-87575
trotski
2002-11-13 21:29
2003.02.27
помощь по DelphiX