[vb6] IE.browser, steelt focus wanneer hij uitgeladen is

Pagina: 1
Acties:

  • Mir
  • Registratie: Maart 2001
  • Niet online
Hej,

ik heb 2 forms:

op form1 gebeurd het volgende:

form2.iebrowser.navigate "www.google.nl"


Ik wil dat form2.iebrowser nu op de achtergrond gewoon de pagina gaat laden. _Maar_ als hij klaar is jat iebrowser de focus!

Hierdoor plopt hij voor mijn form1 uit! Dat wil ik helemaal niet!

what can I do?

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Komt het niet omdat www.google.nl de focus in het zoekveld plaatst :?

Wat gebeurt er als je navigeert naar "about:blank"?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Mir
  • Registratie: Maart 2001
  • Niet online
hmm.. idd, als ik een andere pagina pak dan doet 'ie het niet..

ok nasty.. dat verplicht me om de vraag anders te stellen: Hoe zorg ik dat een pagina de focus niet steelt? ;)

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
bij een DocumentComplete event (ofzo...weet niet precies uit mijn hoofd) een .Setfocus op een andere control doen misschien :?

[ Voor 5% gewijzigd door RobIII op 28-10-2004 16:50 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Als je even zoekt binnen GoT [search=MSHTML] vindt je legio voorbeelden waarmee je dit kan doen.

Als je precies beschrijft waarom je wilt browsen en wat je wilt doen kan je wellicht iets beter geholpen worden...

  • Mir
  • Registratie: Maart 2001
  • Niet online
Ten eerste: Ik kan niet zomaar dmv een event een ander object de focus teruggeven, omdat ik niet weet welk object het focus als laatste had. Ik wil namenlijk dat de gebruiker er niets van merkt.

Waarom ik er heen surf: omdat ik elke 10 minuten informatie van die pagina nodig heb, maar dat hoeft niet zichtbaar te zijn!

Ik ga even zoeken naar jouw zoeklink!

  • Mir
  • Registratie: Maart 2001
  • Niet online
oh en btw, ik heb die HTML dus niet in de hand! Is niet in mijn beheer!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Mir schreef op 28 oktober 2004 @ 17:02:
oh en btw, ik heb die HTML dus niet in de hand! Is niet in mijn beheer!
oh en btw... gebruik dan effe edit Afbeeldingslocatie: http://gathering.tweakers.net/global/templates/got/images/icons/edit.gif i.p.v. een nieuwe reactie :P

Maar, je kunt toch gewoon onthouden welke control als laatste de focus had? Lijkt me niet zo moeilijk daarna gewoon de focus terug te zetten.

Wellicht dat je die browser control ook gewoon kunt disablen ofzo (als de gebruiker er niks mee hoeft te doen) en anders kun je er vast met een API tegen aan schoppen om te zorgen dat 'ie de focus niet steelt of teruggeeft als 'ie dat zou proberen...

Hangt er een beetje van af wat je wil bereiken en of je bijvoorbeeld liever geen API's zou gebruiken enzo.

[ Voor 16% gewijzigd door RobIII op 28-10-2004 17:07 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Mir
  • Registratie: Maart 2001
  • Niet online
RobIII schreef op 28 oktober 2004 @ 17:05:
[...]

oh en btw... gebruik dan effe edit [afbeelding] i.p.v. een nieuwe reactie :P
bleh bleh :P had geen topickick als intentie.. ;)
Maar, je kunt toch gewoon onthouden welke control als laatste de focus had? Lijkt me niet zo moeilijk daarna gewoon de focus terug te zetten.
uhm, maar hoe wil je dat doen? Van alle objecten hun gotfocus events afvangen en het dan in 1 global variable onthouden ofzo?.... nogal ranzig imo ;)
Wellicht dat je die browser control ook gewoon kunt disablen ofzo (als de gebruiker er niks mee hoeft te doen) en anders kun je er vast met een API tegen aan schoppen om te zorgen dat 'ie de focus niet steelt of teruggeeft als 'ie dat zou proberen...

Hangt er een beetje van af wat je wil bereiken en of je bijvoorbeeld liever geen API's zou gebruiken enzo.
Ik zou geen probleem hebben met API's... maar dan is de vraag: welke API heb ik er dan voor nodig?!...

  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Als ik jou was zal ik even specifiek naar de volgende twee topics kijken:Hierin komt het MSHTML object ter sprake. In het eerste document is zelf nog een link te vinden naar een Excel document (waarin een uitwerking terug te vinden is). Als je gebruik maakt van deze methode hoef je geen browser control op een form te plaatsen, maar handel je het één en ander gewoon af via de code.

In het eerste topic staat daar nog een reactie waarin middels een functie de 'Active Topics' van GoT werden binnen gehaald.

offtopic:
Let wel op bij dat voorbeeld dat deze toentertijd werkte op het oude forum en ik er niet zeker van ben dat het nog steeds werkt

  • Mir
  • Registratie: Maart 2001
  • Niet online
Woudloper schreef op 28 oktober 2004 @ 22:36:
Als ik jou was zal ik even specifiek naar de volgende twee topics kijken:Hierin komt het MSHTML object ter sprake. In het eerste document is zelf nog een link te vinden naar een Excel document (waarin een uitwerking terug te vinden is). Als je gebruik maakt van deze methode hoef je geen browser control op een form te plaatsen, maar handel je het één en ander gewoon af via de code.

In het eerste topic staat daar nog een reactie waarin middels een functie de 'Active Topics' van GoT werden binnen gehaald.

offtopic:
Let wel op bij dat voorbeeld dat deze toentertijd werkte op het oude forum en ik er niet zeker van ben dat het nog steeds werkt
Hej,

uiteraard zal het misschien niet meer werken..

Maar ik ga het proberen. Het probleem wat er is is dat ik naar een site wil waarbij je dmv authenticatie moet inloggen. Dus er moet een inlog-popup komen.

2e probleem was dat het IE object soms bleef bestaan waardoor, als je in windows op een URL snelkoppeling klikte, hij dat uitvoerde in het onzichtbare IE object.. nogal stom :(

3e probleem: Ik heb een inet control gebruikt, maar de pagina waar ik heen wil moet ook geparsed worden achteraf dmv javascript, dit deed de inetcontrol niet goed.

Er zijn nogal wat eisen waarin een object moet voldoen. Tot nu toe is een IE control in mijn project opgenomen, de beste oplossing.. met dan het nadeel dat het de focus steelt..

  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Zo'n inlog window (Enter Network Password) is helaas niet te bypassen.

Dat is overigens niet helemaal waar, maar dan ga je het op een niet zo'n nette manier doen. Je kan hiervoor gebruik maken van FindWindow en vervolgens middels Sendkeys de commandos naar het inlogvenster toesturen. Op google lijkt mij daar wel het één en ander over te vinden te zijn...

  • Mir
  • Registratie: Maart 2001
  • Niet online
hhmm... maar dat is wel een beetje een vieze manier.. :-/

en het probleem is dat ik dus dan evengoed een popup van dat inlog scherm moet krijgen!..

dat is niet erg, die mag best een focus krijgen..

Maar ik wil dat 'ie daarna gewoon van de focus afblijft!.. nasty browser :P

  • _js_
  • Registratie: Oktober 2002
  • Laatst online: 13-01 07:19
Jouw applicatie kan om gebruikersnaam en wachtwoord vragen en dan als url http://gebruikersnaam:wachtwoord@site.nl/index.html gebruiken
Heb je geen last meer van het netwerk login venstertje.

  • Mir
  • Registratie: Maart 2001
  • Niet online
Dat werkt helaas niet..

Ik heb al een ander topic lopen om dat inloggen te omzeilen.. waarbij ook deze oplossing voorbij is gekomen.

helaas...

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Mir schreef op 29 oktober 2004 @ 14:30:
Dat werkt helaas niet..

Ik heb al een ander topic lopen om dat inloggen te omzeilen.. waarbij ook deze oplossing voorbij is gekomen.

helaas...
Wellicht is het makkelijker je probleem centraal te bespreken, want nu vangen we allemaal maar flarden op van wat je probeert te doen. Als ik hier kijk zie ik dat je al 4(!) topics hebt lopen over de IE browser in je project. Wellicht had dat beter in 1 topic gekund (niet om te zeiken, maar juist omwille het centraal aanpakken van alle 4 de problemen in 1 topic).

[rml][ vb6] IE.browser, steelt focus wanneer hij uitgeladen is[/rml]
[rml][ vb6] IE.Browser, afvangen 'probeert het venster te sluiten'[/rml]
[rml][ vb6] Object IE in class, HTTPS inloggen (Automatisch)[/rml]
[rml][ vb6] Object IE in class, HTTPS inloggen[/rml]
Woudloper schreef op 29 oktober 2004 @ 13:38:
Zo'n inlog window (Enter Network Password) is helaas niet te bypassen.

Dat is overigens niet helemaal waar, maar dan ga je het op een niet zo'n nette manier doen. Je kan hiervoor gebruik maken van FindWindow en vervolgens middels Sendkeys de commandos naar het inlogvenster toesturen. Op google lijkt mij daar wel het één en ander over te vinden te zijn...
Sendkeys is ranzig, en het is (niet getest, dat geef ik meteen toe) als het goed is wél mogelijk: [rml]RobIII in "[ vb6] Object IE in class, HTTPS inloggen..."[/rml]
_js_ schreef op 29 oktober 2004 @ 14:12:
Jouw applicatie kan om gebruikersnaam en wachtwoord vragen en dan als url http://gebruikersnaam:wachtwoord@site.nl/index.html gebruiken
Heb je geen last meer van het netwerk login venstertje.
Wederom, zie [rml]RobIII in "[ vb6] Object IE in class, HTTPS inloggen..."[/rml] ;) Het is op deze manier niet meer mogelijk. MS heeft die "mogelijkheid" uit IE gesloopt vanwege security issues.

[ Voor 53% gewijzigd door RobIII op 29-10-2004 14:55 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Mir
  • Registratie: Maart 2001
  • Niet online
RobIII schreef op 29 oktober 2004 @ 14:49:
[...]

Wellicht is het makkelijker je probleem centraal te bespreken, want nu vangen we allemaal maar flarden op van wat je probeert te doen. Als ik hier kijk zie ik dat je al 4(!) topics hebt lopen over de IE browser in je project. Wellicht had dat beter in 1 topic gekund (niet om te zeiken, maar juist omwille het centraal aanpakken van alle 4 de problemen in 1 topic).

[rml][ vb6] IE.browser, steelt focus wanneer hij uitgeladen is[/rml]
[rml][ vb6] IE.Browser, afvangen 'probeert het venster te sluiten'[/rml]
[rml][ vb6] Object IE in class, HTTPS inloggen (Automatisch)[/rml]
[rml][ vb6] Object IE in class, HTTPS inloggen[/rml]
Ja idd, dat besef ik ook.
1 is er al afgevallen.. niet meer relavant..

Maar het zijn gewoon 3 verschillende probleem met 1 zelfde object en ik ben bang als ik dit in 1 topic gooi het er nooit volledig uit komt.. (als dat er al komt)..

het zijn lastige dingen :)

  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Dat dacht ik ook. Je kan even bij Google Groups zoeken.

Daar vond ik namelijk de volgende artikeltjes:Enige modificatie aan bovestaande scripts moet tot het gewenste resultaat kunnen leiden. Succes ermee.

offtopic:
Gezien je vele pogingen (waarop RobIII ons wees) weet je dan zeker dat dit de beste manier is? Probeer je niet iets onmogelijks?

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Hmmm, ik vind het nu (bij toeval) ook in de MS KB: Q172998: How To Use WebBrowser HEADERS Param in Navigate Method

Heb het zelf even getest, en het lijkt idd niet te werken...
Ik kijk effe verder...

Wooohoo! Het werkt als je het Silent property op TRUE zet :Y) Toch niet :(
Als je 1x hebt ingelogd, doet 'ie het voortaan wel :?

Waarschijnlijk heeft het ook nog iets te maken met de toegestane Authenticatie methoden (Basic, Integrated Windows etc). Daarvoor zou je dus sowiezo effe de RFC's erop na moeten slaan. Ik kap er in ieder geval mee ;) (heb meer te doen)

Wat je ook nog zou kunnen doen is effe met een sniffer kijken wat er gebeurt als je inlogt (headers etc) en die "afkijken" hoe het gedaan wordt. Bedenk daarbij wel dat het vaak een Challenge/Response is, en dat je dus niet de "code" kunt copy/pasten omdat 'ie telkens anders is. Je zult die dus moeten "berekenen" volgens de RFC's / MS regeltjes enzo.

[ Voor 113% gewijzigd door RobIII op 29-10-2004 16:16 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

Vaag dat het niet werkt aangezien het document (KB: Q172998) toch nog recentelijk is geupdate. Als dat met die headers niet gaat werken zit er niets anders op om met FindWindow en SendKey methode te gaan werken, hoewel de oplossing met de HEADERS er een stuk netter uitziet!?

  • Mir
  • Registratie: Maart 2001
  • Niet online
NEW

ik heb nu eenzelfde probleem.. maar nét even anders..

als de netwerkwachtwoord gevraagd wordt.. krijgt deze de focus..

dit wil ik niet!

die browser moet gewoon VAN DE FOCUS AFBLIJVEN (grr)! :( :(

iemand een idee?

werkt niet:
code:
1
ShowWindow Browser.hwnd, SW_SHOW


code:
1
2
browser.silent = true   'werkt niet.. want dan krijg ik helemaal geen
                                    ' wachtwoordvraag meer



help? :)
Pagina: 1