Vorhandenen Tab in Edge ansteuern

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Scorpion179
Beiträge: 2
Registriert: Mo 1. Nov 2021, 19:29

Vorhandenen Tab in Edge ansteuern

Beitrag von Scorpion179 »

Hallo zusammen,

ich programmiere seid 3 Jahren mit Lazarus unter Windows, aktuell mit Lazarus Version 2.0.10 (wird definitiv nicht die neueste sein :lol: ).

Mein aktuelles Projekt erfordert die Abfrage ob ein bestimmter Tab im Edge geöffnet ist, allerdings beiße ich mir gerade die Zähne daran aus und benötige neue Ansätze. Die Steuerung über FindDefaultBrowser kann hierbei nicht genutzt werden, da die Hauptkomponenten über den IE laufen und dieser deshalb der Default Browser ist. Websites übern Default öffnen und Parameter übergeben nutze ich derzeit schon für andere Sachen.

uses: LCLProc, LazHelpHTML, UTF8Process, windows, LCLIntf; sind bereits eingebunden

var
handle: HWND;
v: THTMLBrowserHelpViewer;
BrowserPath, BrowserParams, Helper: string;
p: LongInt;
URL: String;
BrowserProcess: TProcessUTF8; sind bereits angelegt.

Mein bisher verfolgter Ansatz für die procedure:
handle := FindWindow(nil, 'Seitenname'); <- war ein Versuch den Tab zu finden
ShowWindow(handle, SW_Show);
handle := SetActiveWindow(Handle);

könnte ein Teil der Lösung sein aber da fehlt definitiv was :lol:
mit FindWindow könnte man vllt den Edge finden, aber den Tab im Edge, hmmm

Was ist mein Ziel:
- Überprüfung im Edge ob ein bestimmter Tab offen ist (bevorzugt über Url statt Namen)
- Wenn der Tab vorhanden ist - Tab als Aktiv auswählen (try aktion)
- Parameter übergeben etc (entweder mit try oder if else)

Alternativ könnte ich die Ziele auch in Chrome anwenden falls es da noch nix für den Edge gibt. Müsste ich dann zwar ein bisschen mehr ansteuern aber das bekomm ich dann schon hin wenn ich den anfang hab :)

SuFu usw wurde natürlich schon genutzt, aber wohl mit den falschen Schlagworten.

sstvmaster
Beiträge: 575
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: W10, L 2.2.6
CPU-Target: 32+64bit
Wohnort: Dresden

Re: Vorhandenen Tab in Edge ansteuern

Beitrag von sstvmaster »

Hier gibts was ähnliches, ob das mit Lazarus funktioniert kann ich dir leider nicht sagen.

https://stackoverflow.com/questions/412 ... -installed
LG Maik

Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Vorhandenen Tab in Edge ansteuern

Beitrag von af0815 »

Ich würde mir mal die SysInternals von MS holen und damit mal versuchen mit dem ProzessExplorer, ProzessMonitor mehr herausfinden. Vor allen wie die Tabs heissen. Auch Winspector (OpenSource) kann dir beim beobachten von Windows Messages helfen, vor allen sieht man dann ob es ein Botschaftziel bereits gibt, das man in Lazarus dann suchen/verwenden kann.

Edit: Der Artikel von sstvmaster ist sehr interessant. Vor allen zeigt er einiges der internen automation von Edge, allerdings auch, das da öfters was geändert wird. :shock:
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Scorpion179
Beiträge: 2
Registriert: Mo 1. Nov 2021, 19:29

Re: Vorhandenen Tab in Edge ansteuern

Beitrag von Scorpion179 »

Hallo ihr beiden,

danke genau solche Ansätze habe ich gesucht. Ich könnt mich grad selber schlagen nachdem ich die Seite und den Titel von sstvmaster gesehen habe.
Manchmal sieht man den Wald vor lauter Bäume nicht.

Den Winspector werde ich mir auf jedenfall mal anschauen das hört sich interessant an und das werde ich bestimmt noch brauchen so bescheiden wie die Zielseite programmiert wurde.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Vorhandenen Tab in Edge ansteuern

Beitrag von af0815 »

wenn du auf einer Zielseite was suchst, so sind da die Tools von Benibela angeblich sehr gut. Damit kann man sich den Browser als Zwischenschicht eventuell sparen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten