Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как добавить текущую страницу TWebBrowser в Favorites

Delphi , Интернет и Сети , Браузер

Как добавить текущую страницу TWebBrowser в Favorites

Автор: http://www.swissdelphicenter.ch

// You need: 1 TEdit, 2 TButtons, 1 TWebbrowser
// Du brauchst: 1 TEdit, 2 TButtons, 1 TWebbrowser

const
  NotAllowed: set of Char = ['"'] + ['/'] + ['\'] + ['?'] + [':'] + ['*'] +
  ['<'] + ['>'] + ['|'];

implementation

{$R *.DFM}

function Load(Path, Key: string): string;
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    Reg.RootKey := HKEY_CURRENT_USER;
    Reg.OpenKey(Path, False);
    try
      Result := Reg.ReadString(Key);
    except
      Result := '';
    end;
    Reg.CloseKey;
  finally
    Reg.Free;
  end;
end;

function WinDir: string;
var
  WinDir: PChar;
begin
  WinDir := StrAlloc(MAX_PATH);
  GetWindowsDirectory(WinDir, MAX_PATH);
  Result := string(WinDir);
  if Result[Length(Result)] <> '\' then
    Result := Result + '\';
  StrDispose(WinDir);
end;

function GetSysDir: string;
var
  dir: array[0..MAX_PATH] of Char;
begin
  GetSystemDirectory(dir, MAX_PATH);
  Result := StrPas(dir);
end;

// Navigate to a page

procedure TForm1.Button1Click(Sender: TObject);
begin
  Webbrowser1.Navigate(edit1.Text);
end;

// Add the current page to the favorites

procedure TForm1.Button2Click(Sender: TObject);
var
  url: TStringList;
  fav: string;
  title, b: string;
  i: Integer;
  c: Char;
begin
  fav := Load('Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders',
    'Favorites');
  url := TStringList.Create;
  try
    url.Add('[InternetShortcut]');
    url.Add('URL=' + webbrowser1.LocationURL);
    url.Add('WorkingDirectory=' + WinDir());
    url.Add('IconIndex=0');
    url.Add('ShowCommand=7');
    url.Add('IconFile=' + GetSysDir() + '\url.dll');
    title := Webbrowser1.LocationName;
    b := '';
    for i := 1 to Length(title) do
    begin
      c := title[i];
      if not (c in NotAllowed) then
      begin
        b := b + Webbrowser1.LocationName[i];
      end;
    end;
    url.SaveToFile(fav + '\' + b + '.url');
  finally
    url.Free;
  end;
end;

end.

Код, который вы предоставили, это приложение на Delphi, использующее компонент TWebBrowser для навигации и добавления страниц в избранное. Вот объяснение, как работает код:

  1. Функция Load читает значение из реестра Windows под ключом "Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" и возвращает путь к папке избранного пользователя.
  2. Функция WinDir получает путь к директории Windows с помощью API-функции GetWindowsDirectory и возвращает его как строку.
  3. Функция GetSysDir получает путь к системной директории (где расположен файл url.dll) с помощью API-функции GetSystemDirectory и возвращает его как строку.

Главные процедуры:

  1. Button1Click: Навигирует на страницу, указанную в текстовом поле, используя метод Navigate компонента TWebBrowser.
  2. Button2Click: Добавляет текущую страницу в избранное, создавая файл Internet Shortcut (.url) и сохраняя его в папке избранного.

Код создает объект TStringList, называемый url, для хранения данных для файла .url. Затем он добавляет различные записи в этот список: - [InternetShortcut] - URL=<текущий URL> - WorkingDirectory=<путь к директории Windows> - IconIndex=0 - ShowCommand=7 - IconFile=<путь к системной директории>\url.dll

Затем он читает заголовок текущей страницы с помощью свойства LocationName компонента TWebBrowser и извлекает только разрешенные символы (исключая специальные символы) для создания валидного имени файла .url. Наконец, код сохраняет список url как файл .url в папке избранного с извлеченным именем файла.

В статье описано, как добавить текущую страницу TWebBrowser в Favorites с помощью приложения на языке Delphi.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Браузер ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:24:40/0.0054728984832764/1