![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Смена стартовой страницы в браузере по умолчанию [D6, WinXP]
RustB © (2008-09-22 20:37:00)Как это можно сделать в делфи подскажите пожалуйсто кто знает.
sniknik (2008-09-23 17:48:00) [1]> в и-эксплорере может использоваться несколько домашних страниц
у FF тоже не одна, судя по всему как сделают вкладки в браузере так количество домашних страниц резко увеличивается. ;)
> Однако юзер будет спокоен, если его основная home page останется нетронутой, а ссылка на твой сайт будет висеть как дополнительная :)
а вот нифига. у меня стоит 3 домашних страницы (не так много чтобы запутаться), все нужные, если вдруг не с того не с сего появиться четвертая... я как юзер буду жутко недоволен...
и сайт сразу попадет в бан лист. если там нет конечно чего нибудь очень полезного... но это вряд ли, те кто делает ставку на полезность подобной фигней не заморачиваются... их и так внесут в избранные, ручками.
KilkennyCat (2008-09-23 17:30:00) [2]Странно, я думал, стартовые страницы только с после 7-ой делфи начались
JJ (2008-09-23 04:49:00) [3]Ну сколько раз твердили миру заглядывать сначала в Яндекс, а уже потом на форум :)
Вот самый корявый пример, скопипастил его сюда:
Как прочитать или изменить StartPage IE
uses
{...,} Registry;
function GetIEStartPage: string;
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey('Software\Microsoft\Internet Explorer\Main', False);
try
Result := Reg.ReadString('Start Page');
except
Result := '';
end;
Reg.CloseKey;
finally
Reg.Free;
end;
end;
function SetIEStartPage(APage: string): Boolean;
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CURRENT_USER;
Reg.OpenKey('Software\Microsoft\Internet Explorer\Main', False);
try
Reg.WriteString('Start Page', APage);
Result := True;
finally
Reg.CloseKey;
Result := False;
end;
finally
Reg.Free;
end;
end;
// Show the Startpage
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(GetIEStartPage);
end;
// Set the Startpage
procedure TForm1.Button2Click(Sender: TObject);
begin
SetIEStartPage(' http://forum.vingrad.ru');
end;
А теперь буду обламыватьавтора вопроса :)
1) Данный код - для IE :) А автору нужно
Смена стартовой страницы в браузере по умолчанию
Где там хранится стартовая страница у FireFox или Opera - понятия не имею, не интересовался. Так что если не IE будет браузером по умолчанию- разбирайся с ним сам
2) Код работает и с вистой + с IE7, но хочется напомнить: начиная с 7-ой версии в и-эксплорере может использоваться несколько домашних страниц. Так что, если хохется выпендриться и не менять основную дом.стр. (если например, тебе нужно это делать во время устанвки своей программы) - на это соглашаются немногие, я сам не переношу, когда программы стараются это сделать - то добавляй свою ссылку в дополнительные. Это опять же делается в том же ключе реестра, только параметр будет Secondary Start Pages.
Только там опять есть подводные камни :))) Ссылки там хранятся в виде мультистроки(аналог tstrings), но средствами Delphi с ходу с ним работать не получится - ну нет в Delphi этого (по видимому, этого нет и в новой D2009)! Так что придётся в интернете поискать пример записи REG_MULTI_SZ (Яндекс нашёл несколько десятков тысяч страниц)
Однако юзер будет спокоен, если его основная home page останется нетронутой, а ссылка на твой сайт будет висеть как дополнительная :)
Германн (2008-09-23 00:33:00) [4]Да собс-но также как и не в Делфи. Найти в реестре и заменить. Вот токмо если хочется делать эту замену без спроса пользователя, то нафиг такую программу.