automatisch von zwischenablage in notepad kopieren

  • hallo,

    ich bräuchte mal etwas hilfe,
    und zwar bräuchte ich ein script das automatisch wenn ich mit Strg C
    etwas in die Zischenablage kopiere diesen text in ein nodpad fenster einfügt und in die nächste zeile weiter springt,
    usw.

    ich kenn mich net besonders aus mit sowas, bin zwar schon bis dahin gekommen das sich n nodpag fenster öffnet
    und dann den text der sich grad in der Zwischenablage befindet einfügt aber dann setzt auch schon aus ^^

    also wenn ich Strg C drücke soll der text automatisch in ein nodpadfesnter eingefüght werden und dann in die nächste zeile springen und das am besten noch im hintergrund

    danke schon mal für die hilfe
    mfg

    Einmal editiert, zuletzt von vOll_n00B (4. Dezember 2008 um 17:00)

  • Spoiler anzeigen
    [autoit]

    HotKeySet("!c", "Write")

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

    While 1
    Sleep(1000)
    WEnd

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

    Func Write()
    Run("notepad.exe")
    WinWait("[CLASS:Notepad]", "")
    ControlSend("[CLASS:Notepad]", "","Edit1",ClipGet()&"{Enter}")
    EndFunc

    [/autoit]
  • aja stimmt Strg, net Alt, in der Eile übesehn ^^

    und wo muss ich das _isPressed hin setzten ? 8|
    bin wie name schon sagt ...^^

    danke funkey

    PS: was muss ich machen das es alles in ein fenster schreibt und nicht immer ein neues auf macht ?

    Einmal editiert, zuletzt von vOll_n00B (4. Dezember 2008 um 17:07)

    • Offizieller Beitrag

    Muss es denn unbedingt Notepad sein?

    Vielleicht reicht ja auch das: ;)

    Spoiler anzeigen
    [autoit]


    #include <GuiConstantsEx.au3>
    #include <ClipBoard.au3>
    #include <WindowsConstants.au3>
    #include <SendMessage.au3>

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

    Global Const $WS_EX_COMPOSITED = 0x2000000
    $hGUI = GUICreate("ClipboardViewer", 300, 400, -1, -1, BitOr($GUI_SS_DEFAULT_GUI, $WS_SIZEBOX), $WS_EX_COMPOSITED)
    $iMemo = GUICtrlCreateEdit("", 2, 2, 296, 396, $WS_VSCROLL)
    GUICtrlSetFont(-1, 10, 400, 0, "Courier New")
    GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
    GUISetState()
    WinSetOnTop($hGUI, '', 1)
    $hNext = _ClipBoard_SetViewer ($hGUI)
    GUIRegisterMsg($WM_CHANGECBCHAIN, "WM_CHANGECBCHAIN")
    GUIRegisterMsg($WM_DRAWCLIPBOARD, "WM_DRAWCLIPBOARD")
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    _ClipBoard_ChangeChain ($hGUI, $hNext)

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

    Func WM_CHANGECBCHAIN($hWnd, $iMsg, $iwParam, $ilParam)
    If $iwParam = $hNext Then
    $hNext = $ilParam
    ElseIf $hNext <> 0 Then
    _SendMessage ($hNext, $WM_CHANGECBCHAIN, $iwParam, $ilParam, 0, "hwnd", "hwnd")
    EndIf
    EndFunc ;==>WM_CHANGECBCHAIN

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

    Func WM_DRAWCLIPBOARD($hWnd, $iMsg, $iwParam, $ilParam)
    GUICtrlSetData($iMemo, _ClipBoard_GetData() & @CRLF, 1)
    If $hNext <> 0 Then _SendMessage ($hNext, $WM_DRAWCLIPBOARD, $iwParam, $ilParam)
    EndFunc ;==>WM_DRAWCLIPBOARD

    [/autoit]

    Edit: Jetzt auch in der Größe veränderbar (resizable).

  • mal ne frage

    geht das eigentlich auch irgetwie umgehkert ?

    also aus ner textdatei in ne msg-Box,
    (den jeweiligen inhalt einer zeile in ne box und mit Weiter button den inhalt der nächsten zeile springen)

    kann mir da wer weiter helfen ? ^^

  • Ich denke so geht es. ( Wenn die angehängte Text Datei im Script ordner liegt!)

    [autoit]


    MsgBox (48,"",FileRead (@ScriptDir & "\test.txt"))

    [/autoit]

    Hier der Code für Anfänger

    [autoit]


    $einlesen = FileRead (@ScriptDir & "\test.txt")
    MsgBox (48,"",$einlesen)

    [/autoit]


    Anhang
    gui.au3

  • danke schon mal

    aber geht das auch das immer nur eine zeile der textdatei angezeigt wird ?
    und nicht der ganze inhalt auf einmal

  • Na klar. Habe dir mal ein Programm geschrieben ( Einfach öffnen , Text Datei wird automatisch erstellt ;))

    Programm
    Download

    Sourcecode

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    FileInstall ("C:\Dokumente und Einstellungen\Dominik Schubert\Desktop\test.txt",@ScriptDir & "\test.txt")
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("ClipGet", 414, 318, 193, 125)
    $Edit1 = GUICtrlCreateEdit("", 0, 0, 413, 297)
    $Button1 = GUICtrlCreateButton("Zurück", 0, 298, 61, 19, 0)
    $Button2 = GUICtrlCreateButton("Weiter", 66, 298, 61, 19, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    Global $zeile = 0
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button2
    $zeile = $zeile + 1
    GUICtrlSetData ($Edit1,FileReadLine (@ScriptDir & "\test.txt",$zeile))
    Case $Button1
    $zeile = $zeile -1
    GUICtrlSetData ($Edit1,FileReadLine (@ScriptDir & "\test.txt",$zeile))
    EndSwitch
    WEnd

    [/autoit]

    ist das so richtig?

  • jo der code funktioniert,
    mit dem download kann man nur leider keine textdateien öffnen ^^
    und wär es vieleicht noch möglich das das glipget fenster im vordergrund bleibt ?

  • So , sollte sowas sein wie du es beschrieben hast , oder?
    Edit: Kleines Update

    [autoit]


    #include <GUIConstants.au3>
    FileInstall ("C:\Dokumente und Einstellungen\Dominik Schubert\Desktop\test.txt",@ScriptDir & "\test.txt")
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("ClipGet", 414, 318, 193, 125)
    $Edit1 = GUICtrlCreateEdit("", 0, 0, 413, 297)
    $Button1 = GUICtrlCreateButton("Zurück", 0, 298, 61, 19, 0)
    GUICtrlSetState($Button1, $GUI_DISABLE)
    $Button2 = GUICtrlCreateButton("Weiter", 66, 298, 61, 19, 0)
    GUICtrlSetState($Button2, $GUI_DISABLE)
    $Button3 = GUICtrlCreateButton("Öffnen", 132, 298, 61, 19, 0)
    $Lbel1 = GUICtrlCreateLabel("", 198, 298, 61, 19, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    Global $zeile = 0
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button3
    $datei = FileOpenDialog ( "Datei aussuchen","","Text Dateien (*.txt)")
    $lesen = FileOpen ($datei,0)
    If Not @error = -1 Then
    GUICtrlSetState($Button1, $GUI_ENABLE)
    GUICtrlSetState($Button2, $GUI_ENABLE)
    EndIf
    Case $Button2
    If GUICtrlRead ($Lbel1) = "Zeile 2" Then
    GUICtrlSetState($Button1, $GUI_DISABLE)
    EndIf
    If GUICtrlRead($Lbel1) <> "Zeile 0" Then
    GUICtrlSetState($Button1, $GUI_ENABLE)
    EndIf
    $zeile = $zeile + 1
    GUICtrlSetData ($Edit1,FileReadLine ($lesen,$zeile))
    GUICtrlSetData ($Lbel1,"Zeile " &$zeile)
    Case $Button1
    If GUICtrlRead ($Lbel1) = "Zeile 1" Then
    GUICtrlSetState($Button1, $GUI_DISABLE)
    Else
    $zeile = $zeile - 1
    GUICtrlSetData ($Edit1,FileReadLine ($lesen,$zeile))
    GUICtrlSetData ($Lbel1,"Zeile " &$zeile)
    EndIf
    EndSwitch
    WEnd

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

    Einmal editiert, zuletzt von r1fLeX (7. Dezember 2008 um 04:01)

  • jaein,

    ich meinete eigentlich das das ClipGet Fenster wenn ich auf ein anderes Fenster(firefox) klicke im vordergrund erhalten bleibt
    damit ich die daten abtippen kann

    aber egal, ich mach firefox einfach kleiner und setzt das ClipGet daneben

  • Sorry, hier der Code mit "OnTop" Funktion.
    Nun alles geklärt?
    Edit: Jetzt wird das "OnTop Flag" nur gesetzt wenn FireFox aktiviert ist.

    [autoit]


    #include <GUIConstants.au3>
    Opt ("WinTitleMatchMode",2)
    FileInstall ("C:\Dokumente und Einstellungen\Dominik Schubert\Desktop\test.txt",@ScriptDir & "\test.txt")
    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("ClipGet", 414, 318, 193, 125)
    $Edit1 = GUICtrlCreateEdit("", 0, 0, 413, 297)
    $Button1 = GUICtrlCreateButton("Zurück", 0, 298, 61, 19, 0)
    GUICtrlSetState($Button1, $GUI_DISABLE)
    $Button2 = GUICtrlCreateButton("Weiter", 66, 298, 61, 19, 0)
    GUICtrlSetState($Button2, $GUI_DISABLE)
    $Button3 = GUICtrlCreateButton("Öffnen", 132, 298, 61, 19, 0)
    $Lbel1 = GUICtrlCreateLabel("", 198, 298, 61, 19, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    Global $zeile = 0
    While 1
    If WinActive ("Firefox") Then
    WinSetOnTop ("ClipGet","",1)
    Else
    WinSetOnTop ("ClipGet","",0)
    EndIf
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button3
    $datei = FileOpenDialog ( "Datei aussuchen","","Text Dateien (*.txt)")
    $lesen = FileOpen ($datei,0)
    If Not @error = -1 Then
    GUICtrlSetState($Button1, $GUI_ENABLE)
    GUICtrlSetState($Button2, $GUI_ENABLE)
    EndIf
    Case $Button2
    If GUICtrlRead ($Lbel1) = "Zeile 2" Then
    GUICtrlSetState($Button1, $GUI_DISABLE)
    EndIf
    If GUICtrlRead($Lbel1) <> "Zeile 0" Then
    GUICtrlSetState($Button1, $GUI_ENABLE)
    EndIf
    $zeile = $zeile + 1
    GUICtrlSetData ($Edit1,FileReadLine ($lesen,$zeile))
    GUICtrlSetData ($Lbel1,"Zeile " &$zeile)
    Case $Button1
    If GUICtrlRead ($Lbel1) = "Zeile 1" Then
    GUICtrlSetState($Button1, $GUI_DISABLE)
    Else
    $zeile = $zeile - 1
    GUICtrlSetData ($Edit1,FileReadLine ($lesen,$zeile))
    GUICtrlSetData ($Lbel1,"Zeile " &$zeile)
    EndIf
    EndSwitch
    WEnd

    [/autoit]

    Einmal editiert, zuletzt von r1fLeX (7. Dezember 2008 um 04:14)

  • Immer wieder gerne!
    Kannst mich auch bei ICQ adden wenn du Fragen hast.
    Bin noch n Stündchen on.
    216-308-658