AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Firefox und Downloadmanager ?

Ein Thema von Blamaster · begonnen am 5. Apr 2010 · letzter Beitrag vom 9. Apr 2010
Antwort Antwort
Seite 1 von 2  1 2   
Blamaster

Registriert seit: 20. Jul 2007
230 Beiträge
 
#1

Firefox und Downloadmanager ?

  Alt 5. Apr 2010, 18:10
Hi,

Ich versuche gerade rauzubekommen ob und wie es möglich ist einen eigenen Downloadmanager mit dem Firefox kompatibel zu machen. Der normale Downloaddialog des firefox (Datei auf Festplatte speichern ....) soll dabei den Link "einfach" an mein Downloadtool übergeben.

Mir fehlen allerdings gerade die Ansätze wie man den Firefox dazu bewegen könnte den Link zu übergeben.

Hat da jemand eine Idee wie man es bewerkstelligen könnte ?

Mfg Yannic
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.014 Beiträge
 
Delphi 12 Athens
 
#2

Re: Firefox und Downloadmanager ?

  Alt 5. Apr 2010, 18:21
Ich denke mal am Einfachsten ist es, wenn du ein entsprechendes Firefox-Addon erstellst, welches die nötigen Ereignisse abfängt und an dein Programm weitergibt.

Eventuell kannst du dir bei den vorhandenen Download-Addons etwas abgucken.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#3

Re: Firefox und Downloadmanager ?

  Alt 5. Apr 2010, 18:34
Hier ein paar Links für die Mozilla Developer Seiten:

Step für Step eine Anwendung schreiben
Developer Hilfe
Lars
  Mit Zitat antworten Zitat
Blamaster

Registriert seit: 20. Jul 2007
230 Beiträge
 
#4

Re: Firefox und Downloadmanager ?

  Alt 5. Apr 2010, 19:36
Hi,

Danke für die Links

Gibt es zufällig ein Delphi OpenSource Downloadplugin für den Firefox wo man etwas abschauen könnte ?

Mfg Yannic
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.014 Beiträge
 
Delphi 12 Athens
 
#5

Re: Firefox und Downloadmanager ?

  Alt 5. Apr 2010, 19:45
Die sind alle quasi Open-Source.

Die XPI-Datei runterladen und entpacken.
(die .xpi sind einfach nur umbenannte .zip)

(und .jar kann man auch entpacken ... was 7zip nicht alles kann )
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#6

Re: Firefox und Downloadmanager ?

  Alt 5. Apr 2010, 19:55
Zum Beispiel der Free Download Manager hat ein Addon dabei, aber viel besser (und öfter aktualisiert) ist das Flashgot-Addon. Eventuell wäre es ein Weg, dein Downloadmanager Flashgot-kompatibel zu machen bzw. den Autor um Unterstützung deines Downloadmanagers zu bitten (und die dafür benötigten Infos gleich mitzuliefern).
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Blamaster

Registriert seit: 20. Jul 2007
230 Beiträge
 
#7

Re: Firefox und Downloadmanager ?

  Alt 6. Apr 2010, 18:17
Hi,

eine Flashgot kompatibelität hört sich gut an.

Flashgot übergibt ja nun die Links als Parameter an meinen Downloadmanager. Im OnCreate der Application kann ich den Url Parameter nun mit ParamStr(1) abrufen.

Nun hab ich allerdings folgende Probleme. Zum einen kann ich die Parameter so nur beim erstmaligen Programmstart abrufen und nicht während der Laufzeit. Zum anderen versucht sich das Programm bei jedem Downloadaufruf nun mehrmals zu öffnen, anstelle das bereits geöffnete Programm zu nutzen.

Eine idee wie ich das lösen kann ?

Mfg Yannic
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#8

Re: Firefox und Downloadmanager ?

  Alt 6. Apr 2010, 18:21
Das erste Problem verstehe ich nicht.

Zum zweiten kannst du dir das mal anschauen.

Liebe Grüße,
Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Blamaster

Registriert seit: 20. Jul 2007
230 Beiträge
 
#9

Re: Firefox und Downloadmanager ?

  Alt 6. Apr 2010, 19:38
Hi,

die Unit löst mein Problem wie es aussieht.

Lässt sich allerdings "CmdLine : Enthält Anwendungspfad sowie Startparameter" noch so umcoden, dass ich nur den Startparameter übergeben bekomme und nicht den Anwendungspfand ? (Lässt sich besser mit arbeiten)

Mfg Yannic
  Mit Zitat antworten Zitat
Blamaster

Registriert seit: 20. Jul 2007
230 Beiträge
 
#10

Re: Firefox und Downloadmanager ?

  Alt 7. Apr 2010, 16:21
Mit

SetString(CmdLine, PChar(lpData), cbData div SizeOf(Char)); Wird ja CmdLine nun der Programmpfad und Parameter übergeben. Sprich beides müsste in lpData liegen.

Nur an welcher stelle kommt der Pfad in lpData ?

Hier mal der Code: (Auszug aus der OneInstance.pas)

Delphi-Quellcode:
function UtilWindowProc(hWnd: HWND; Msg: UINT; wParam: WPARAM; lParam: LPARAM): LRESULT;
  stdcall;
const
  Results: array[Boolean] of LRESULT = (INSTANCE_DENY, INSTANCE_ALLOW);
var
  ProcessId: Cardinal;
  CmdLine: string;
  Allow: Boolean;
begin
  if (Msg = WM_COPYDATA) and (wParam = 0) and (lParam <> 0) then
  begin
    Allow := False;
    with PCopyDataStruct(lParam)^ do
    begin
      ProcessId := hWnd;
      SetString(CmdLine, PChar(lpData), cbData div SizeOf(Char));
    end;
    frmMain.OnSecondInstance(ProcessId, CmdLine, Allow);
    Result := Results[Allow];
  end else
    Result := DefWindowProc(hWnd, Msg, wParam, lParam);
end;

function CreateUtilWnd: HWND;
var
  UtilWndClass: TWndClass;
begin
  FillChar(UtilWndClass, SizeOf(UtilWndClass), 0);
  UtilWndClass.hInstance := HInstance;
  UtilWndClass.lpfnWndProc := @UtilWindowProc;
  UtilWndClass.lpszClassName := PChar(UtilWndClassName);
  RegisterClass(UtilWndClass);
  Result := CreateWindowEx(WS_EX_TOOLWINDOW, UtilWndClass.lpszClassName,
    '', WS_POPUP, 0, 0, 0, 0, 0, 0, HInstance, nil);
end;

procedure CheckInstance;
var
  hMain: HWND;
  CDS: TCopyDataStruct;
begin
  hMain := FindWindow(PChar(UtilWndClassName), nil);
  if hMain <> 0 then // Anwendungsinstanz vorhanden
  begin
    with CDS do
    begin
      dwData := GetCurrentProcessId;
      lpData := GetCommandLine;
      cbData := StrLen(lpData) * SizeOf(Char);
    end;
    if SendMessage(hMain, WM_COPYDATA, 0, LPARAM(@CDS)) = INSTANCE_DENY then
      Halt; // Anwendung abbrechen. Anmerkung: Finalization-Abschnitte für bereits
              // initialisierte Units werden noch abgearbeitet.
  end;
end;

initialization
  UtilWndClassName := 'OneInstUtilWnd:' + ParamStr(0);
  CheckInstance;
  hUtil := CreateUtilWnd;

finalization
  if hUtil <> 0 then DestroyWindow(hUtil);
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz