ein Clipget() Problem

  • Salü Leute

    ich schreibe grad ein Support-Tool für Remote Support. Dabei habe ich folgendes Problem:

    mein Script wird durch die Tastenkombination "Alt+Ctrl+$" aufgerufen. Nun denn...der Supporter kann einen Computernamen markieren. Tastenkombination -> Tool rattert los. Benutzt ein Supporter jedoch den Shortcut, der auf dem Desktop liegt, sollte sich das Setup Menue für das Tool öffnen.

    wenn ich das folgende Script verwende, wird komischerweise beim Doppelklicken des Shortcuts der zuvor kopierte Wert verwendet (was auch immer das war)

    erst beim ZWEITEN mal verwendet das tool dann den return-wert des shortcuts (was der dateiname des shortcuts ist) .. ich möchte, dass dies schon beim ersten mal passiert. (tatsächlich..wiederholt man den doppelklick auf den shortcut, dann funzt es)

    1) warum ist das so?

    2) weiss da jemand eine lösung?

    [autoit]


    #include <GuiConstantsEx.au3>
    #include <AVIConstants.au3>
    #include <TreeViewConstants.au3>
    #include <IE.au3>
    #include <File.au3>
    #include <Clipboard.au3>

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

    ;variables
    Local $Listview
    Global $MarkedValue
    Global $NumberOfConditions=0
    Global $WhatIsIt=0
    ;************************************ start of script ************************************
    ;getMarkedValue
    #Cs
    _ClipBoard_Empty()
    _ClipBoard_Close()
    _ClipBoard_Open(0)
    #ce
    send("^c")
    MsgBox(0," ", ClipGet())

    [/autoit]


    wenn man die #cs / #ce wegnimmt, (versuchsweise eingebaut) dann wird zwar immer beim ersten mal der korrekte wert reinkopiert, jedoch liefert die verwendung des shortcuts immer "".. also nix..

    Ich nerv mich grad, und hoffe, dass mir da jemand mitteilen kann, wie ich das problem lösen oder umgehen kann. steh aufm Schlauch.

    Lieber Gruss ausser Schweiz


    Flo

    ps: ausserdem bin ich neu mit Auto-IT, und sowieso ned ne Riesen-Leuchte im Scripten..

    Einmal editiert, zuletzt von Landfloh (18. Mai 2012 um 07:48)

  • Du rufst die Funktionen in der falschen Reihenfolge auf.

    [autoit]


    if not _ClipBoard_Open(0) then MsgBox(0,'','Öffnen der Zwischenablage fehlgeschlagen',5) ;zeigt meldung wenn ein anderes Fenster die Zwischenablage schon benutzt
    _ClipBoard_Empty()
    _ClipBoard_Close()

    [/autoit]

    Edit: Ich bitte dich auch in der Überschrift Wörter wie 'Kreisch' zu vermeiden

  • Danke erstmal. Hat leider nicht den erwünschten Effekt bewirkt. Aber ich habe das ganze dann auf andere Weise realisiert, sodass es gar nicht zu diesem Problem kam.

    Lieber Gruss

    Flo