Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Смена стартовой страницы в браузере по умолчанию [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]

Да собс-но также как и не в Делфи. Найти в реестре и заменить. Вот токмо если хочется делать эту замену без спроса пользователя, то нафиг такую программу.


Наверх

Титульная страница Поиск, карта сайта Написать письмо