Webbrowserelement für User unzugänglich machen ?

  • welche autoit version haste????
    naja der fehler entsteht ja schließlich in der ie.au3 deswegen dacht ich dass ie im eimer ist....

    snoozy

  • ich hab bei mir mal die ie.au3 ausgetauscht und dann das script durchlaufen lassen.

    nicht der error den noels hatte sondern:


    --> COM Error Encountered in tesgggt.au3
    ----> $IEComErrorScriptline = 267
    ----> $IEComErrorNumberHex = 80020009
    ----> $IEComErrorNumber = -2147352567
    ----> $IEComErrorWinDescription = Die angeforderte Ressource wird bereits verwendet.
    ----> $IEComErrorDescription =
    ----> $IEComErrorSource =
    ----> $IEComErrorHelpFile =
    ----> $IEComErrorHelpContext = 0
    ----> $IEComErrorLastDllError = 0

    Dieser Beitrag wurde 9521 mal editiert, zum letzten Mal von Blubkuh: Morgen, 02:28.

    [autoit]

    If Not $Elephant Then $Irelephant = True

    [/autoit]
  • Ich hab.. moment ^^ ...
    Version 3.2.4.9

    Blubkuh:
    Ich hab das an meinem Script nochmal getestet, nicht an snoozers Bsp ;)
    Trotzdem unschön dass es selbst da bei dir nen Error gab... :rolleyes:

    Idee:
    Kann ich nicht ein Label über das Webbrowserelement drüber ziehen ?
    Dann kann ich das doch eig noch sehen aber nichtmehr benutzen...
    genau wie wenn ich n label zu groß mache und das über nem
    Button ist ;)

    Fakt ist aber:
    Ich habs längst ausprobiert und es hat nicht geklappt x)


    Nils =)

    There are only 10 types of people in the world:
    Those who understand binary - and those who don't.

  • Ich denke, das bringts mir auch nich ^^
    Es ist dabei doch so, dass, wenn man auf einen Link klickt, die Maus einfach
    in die Mitte des Bildschirms springt..
    1. Ist wirklich sicher, dass der IE nicht doch dahin navigiert ?
    2. Müsste ich verdammt viele Links angeben..... :rolleyes:
    Und mein Script ist jz schon relativ langsam, weils öfters mal den
    Quellcode auf bestimmte Inhalte überprüft ^^


    Nils =)

    There are only 10 types of people in the world:
    Those who understand binary - and those who don't.

    • Offizieller Beitrag
    Zitat

    1. Ist wirklich sicher, dass der IE nicht doch dahin navigiert ?
    2. Müsste ich verdammt viele Links angeben.....


    zu 1.
    Hab es mehrfach im Einsatz ( harter Dauertest bei meinen Kindern als Schutz vor falschen Klicks :D ). Funktioniert tadellos.
    zu 2.
    Wenn du alles sperren willst:
    Wenn Link Element von _IELinkGetCollection( ), dann skip.


    Edit:

    Ganz andere Idee. Gar keine Mausaktionen in diesem Fenster zulassen.
    Etwa so:

    [autoit]

    While 1
    If $GUI_EVENT_PRIMARYDOWN Or _
    $GUI_EVENT_SECONDARYDOWN Then MouseMove(0,0,1)
    ;...
    Wend

    [/autoit]
  • :D
    Stimmt, gute Idee ^^

    Werd ich gleich testen,
    dafür werden Mathe - HA's unterbrochen ;)

    Nils =)

    Edit: Trotzdem stell ich mir das nicht grade stilistisch schön vor ;)

    Edit2: Ähh... ich glaube dafür is mein Script aber zu langsam.
    Da es im Hintergrund laufen soll hat es Sleeps von 10 bis 70 Sekunden drin,
    dazu kommen noch StringRegExp's von ziemlich langen Quelltexten...
    --> ich glaube nicht, dass das funzt ^^

    There are only 10 types of people in the world:
    Those who understand binary - and those who don't.

    2 Mal editiert, zuletzt von noels (3. Juni 2007 um 22:51)

    • Offizieller Beitrag

    Hier mal ein konkretes Musterbeispiel, wie du jeden Mausklick im Fenster abfängst:

    [autoit]

    #include <GUIConstants.au3>
    AutoItSetOption('MouseCoordMode',0)
    $gui = GUICreate('Test')
    GUISetState()

    [/autoit][autoit][/autoit][autoit]

    While 1
    $msg = GUIGetMsg(1)
    If $msg[1] = $gui Then
    Switch $msg[0]
    Case $GUI_EVENT_PRIMARYDOWN
    MouseMove(0,0,1)
    Case $GUI_EVENT_SECONDARYDOWN
    MouseMove(0,0,1)
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    EndIf
    WEnd

    [/autoit]
  • Schon klar,
    ich bin ja nich blöd ;) :P

    Aber wie schon gesagt: Dafür ist mein Script zu langsam x)

    Es läuft die ganze Zeit, immer und immer wieder der gleiche Prozess ab.
    Aber: Immer nur alle 10 bis 70 sec ( Sleep( Random( 10000, 70000, 1) ) ),
    dazu kommen mehrere StringRegExps auf nen vorher ausgelesenen Quellcode,
    der nicht gerade klein ist ^^
    Aber da man trotzdem noch Einstellungen vornehmen kann hab ich halt den
    OnEventMode genommen, damit man keine Verzögerungen hat ;)

    --> Das mit dem Abfragen von Mausklicks kann ich wohl vergessen.

    Außer ich kann nen Mausklick auf ne Funktion, die dann die Koordinaten abgleicht
    und gegebenenfalls die Maus wegbewegt, legen.
    Aber das ist 1. unschön 2. nicht das was ich haben will x)

    Warum kann man nicht einfach ein Webbrowserelement sperren x) ;)
    Wenn ich es deaktiviere kann ich es nicht mehr navigieren ect...

    Und jedes mal aktivieren, ausführen, deaktivieren, aktivieren, ausführen, deaktivieren, ....
    ist auch ziemlich umständlich, wenn nicht sogar sinnlos :P

    Naja, ich stöber ma noch in der Hilfe rum und so ^^
    vll findet ja wer vor mir was ;)


    Nils =)

    There are only 10 types of people in the world:
    Those who understand binary - and those who don't.

  • Eyy ^^ hört sich ja an als wär ich
    zu blöd dafür x)
    Nun gut, vll bin ich das auch :D

    Aber das Webbrowserelement funzt selbst dann noch,
    wenn ich n GuiCtrlCreateGraphic drüber lege und nicht
    deaktiviere....


    Also, wenn du's besser weißt, raus mit der Sprache ;)


    Nils =)

    There are only 10 types of people in the world:
    Those who understand binary - and those who don't.

  • Bsp-Code ^^

    aber nich dass du gleich auch mit ner
    kontinuierlichen Abfrage ankommst ;)
    Oder etwas, das vorher schon abgestempelt wurde x) :P

    Aber ich glaube nich, dass du ohne Grund so zuversichtlich bist,

    also schonma danke ^^


    Nils =)

    There are only 10 types of people in the world:
    Those who understand binary - and those who don't.

  • Zitat

    Original von th.meger
    Hi,

    willst du es in deinem Code oder in einem BspCode?

    So long,

    Mega


    bspcode steht ja schon auf der ersten seite..da hats ja nicht geklappt.....darauf war meine frage welche autoit version er hat.....vll liegts da drann bei mir geht das problemlos ohne fehler....da kann man dann auch nicht rumklicken...welches system haste?

    snoozy

    • Offizieller Beitrag

    Hallo!

    Wo liegt das problem? einfach ein Childwindows mit $WS_POPUP ins mainwindows packen, das childwindows dann mit @SW_DISABLE deaktivieren und im childwindow das obj reinpacken!

    ähm.. so ungefair:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <ie.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $gui = GUICreate("",400,400)
    GUISetState()
    $gui2 = GUICreate("",380,380,10,10,$WS_POPUP,$WS_EX_MDICHILD,$gui)
    $ieobj = _IECreateEmbedded()
    GUICtrlCreateObj($ieobj,0,0,380,380)
    _IENavigate($ieobj,"www.google.de",0)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW,$gui2)
    GUISetState(@SW_DISABLE,$gui2)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit]

    Mfg Spider

  • Zitat

    Original von noels
    Funzt super, danke =)


    Nils =)


    YEAH irgendwie gibts immer ne möglichkeit was hinzubekommen YEAH YEAH
    autoit rulez
    ~ topic successful solved

    done. snoozer :rock:

    • Offizieller Beitrag

    Hallo!

    Schön das es dich freud snoozer^^ Nur nochmal zur vervollständigung: noels und ich haben grade herrausgefunden, dass wenn man die main gui bewegt sich das child nicht mitbewegt..

    Hier mal die Gefixte version:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <ie.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $gui = GUICreate("",400,400)
    GUISetState()
    $gui2 = GUICreate("",380,380,10,10,$WS_CHILD,-1,$gui)
    $ieobj = _IECreateEmbedded()
    GUICtrlCreateObj($ieobj,0,0,380,380)
    _IENavigate($ieobj,"www.google.de",0)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW,$gui2)
    GUISetState(@SW_DISABLE,$gui2)

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

    [/autoit] [autoit][/autoit] [autoit]

    EndSwitch
    WEnd

    [/autoit]

    Mfg Spider

    Edit: peinlicher peinlicher peinlicher peinlicher peinlicher peinlicher peinlicher peinlicher peinlicher peinlicher peinlicher peinlicher Rechtschreibfehler.. hoffe es ist nimmanden aufgefallen^^ jetzt weiß ich wie Gefixt geschrieben wird.. und zwar mit F nicht mit W xD