Makierter/ausgewählter Text (ohne Clipboard) kopieren/importieren

  • Moin,

    ich möchte gerne den aktuell markierten Text (egal in welcher Applikation) haben ohne den ihn vorher in den Zwischenspeicher zu legen. Jmd eine Idee?
    Danke für eure Hilfe.

    Grüße

  • Danke für eure Antworten:
    @autoBert: Dann würde ich mich auf den IE reduzieren, hier speziell in iFrames, für "normale" Pages gehts über $IEObject.document.selection.createRange.text, jedoch klappt das nicht bei Seiten mit iFrames.
    @Kanashius: Da ich mit einer Clipboard-History arbeite (also mir die letzten 20 Clipboardeinträge anzeigen lassen kann) ist dies leider keine Option.

    Grüße

  • Ich habe es jetzt für den IE (mit iFrames) für mich so gelöst:

  • Man könnte auch den Prozess des Clipboard History Programmes anhalten den Inhalt des Clipboards kopieren und zwischenspeichern. Jetzt nur noch den markierten Text in die Zwischenablage verfrachten auslesen und den Ausgangszustand wider herstellen. Wenn nun der Prozess wider fortgesetzt wird sollte er nichts bemerkt haben. :part:
    Nur scheitert der plan an meinem unvollständigen wissen wie man einen Prozess mit AutoIt Bordmitteln anhält :Face:
    evntuell mit _WinAPI_SetProcessAffinityMask

  • OT: bollen: Du holst dir alle Threads eines Prozesses mit CreateToolhelp32Snapshot(), Thread32First() & Thread32Next().
    Pausieren/starten kannst du 'nen Thread mit SuspendThread(ThreadHandle)/ResumeThread(ThreadHandle).
    Die DllCalls müsste man nur nachbauen.

  • Die Funktionen sind mir wohlbekannt ich dachte das es eventuell eine schnuckelige AutoIt Lösung gibt ohne frische DLL calls erstellen zu müssen

    wenn wir doch was erstellen wollen geht es einfacher
    so schickt man ein Prozess schlafen !Passt auf was ihr Suspendet!

    AutoIt
    #RequireAdmin
    #include<Winapi.au3>
    $pid=XXXX
    $handle=_WinAPI_OpenProcess(0x0800,False ,$pid)
    DllCall("ntdll.dll","long","NtSuspendProcess","handle",$handle)


    und so kann man ihn wider aufwecken

    AutoIt
    #RequireAdmin
    #include<Winapi.au3>
    $pid=XXXX
    $handle=_WinAPI_OpenProcess(0x0800,False ,$pid)
    DllCall("ntdll.dll","long","NtResumeProcess","handle",$handle)
  • Cool die Funktionen kannte ich nicht.
    Sind die auch unter den neuen Windows-Versionen unterstützt? Ich find zu denen keine Doku. (irgendwie klar bei nt-Zeugs)

  • Aktuelle Win10 version hat die Dll standartmäßig dabei, selten das bei Windows was in richtung Abwertskompatibilität flöten geht mit fällt spontan nichts ein :/