Wie kann ich Eingaben zwischen separaten Programmen eingeben und weitergeben?

Wie kann ich Eingaben zwischen separaten Programmen eingeben und weitergeben?

Es gibt so viele einzelne, nützliche Programme, deren Quellcode nicht verfügbar ist, von denen sich einige wunderbar ineinander integrieren ließen!Das einzige Problem ist, dass ich nicht weiß, wie ich die Interaktion verschiedener Programme in Windows 7 ermöglichen kann.

Ich kenne mich mit C++/C#/XAML aus und weiß, wie man über die Befehlszeile Startargumente an Programme übergibt und wie man Batchdateien erstellt … Doch wie lassen sich Programme ohne manuelle Steuerung steuern, wenn sie einmal ausgeführt werden?

Auch die Verarbeitung von Windows-Eingaben wie Mausbewegungen oder Klicks ist mir bekannt, allerdings ist hierdurch nur eine direkte Interaktion mit dem Betriebssystem möglich, nicht aber mit konkreten, gerade geöffneten Programmen.
Ich möchte in der Lage sein, Eingaben an einzelne Programme weiterzugeben, während ich andere Dinge erledige.


Hier ist ein Beispielproblem, das ich zu lösen versuche:

Ich habe ein Programm, das ich "Mitgliederextraktor", das die Kontaktinformationen der Mitglieder meiner Site extrahiert; obwohl das Programm nur über seine GUI gesteuert werden kann und noch nicht die Möglichkeit hat, die Daten zu exportieren. (also muss jede Information wie E-Mail, Telefonnummer usw. einzeln in die Zwischenablage kopiert und in ein neues eingefügt werden. "Microsoft Excel"dokumentieren).

Sobald die Informationen kopiert und geordnet gespeichert sind, muss ich diese Daten einzeln in mehrere neue importieren.Kontaktprofile" erzeugt durch "Universeller Kontaktmanager" Erweiterung der „Google Chrome Webbrowser“

  • Dies alles muss automatisch durch eine Art Skript erledigt werden, das im Hintergrund ausgeführt werden kann, während ich an anderen Dingen arbeite.*

Wie kann das gemacht werden?


Ich könnte mir vorstellen, dass ich mehrere virtuelle Zwischenablagen brauche … aber was noch?

Antwort1

Wenn Sie es von Hand machen können, können Sie es problemlos mit Makro-Software automatisieren. Meine bevorzugte Waffe istAutoHotkey, und zwarAutoHotkey_L.

Dokumentation

Anhand Ihres Beispiels könnte Folgendes hilfreich sein:

Die Logik Ihres Skripts könnte beispielsweise folgendermaßen aussehen*:
*Es kann kleinere Fehler geben, aber Sie verstehen das Wesentliche!

;Note: find Control and Window names using AutoIt3 Window Spy

Name := []
Email := []
;etc...

members = 100

while (members > 0)
{
    Clipboard = 
    ControlSend, MemberExtrControl, ^a^c, MemberExtrWindow
    ClipWait
    Name.Insert(Clipboard)
    
    Clipboard = 
    ControlSend, MemberExtrControl, Tab^a^c, MemberExtrWindow
    Clipwait
    Email.Insert(Clipboard)
    
    ;etc...

    members--   
}

index = 1

Loop % Names.MaxIndex()
{
    name := Name.Remove(index)
    email := Email.Remove(index)
    ;etc...
    
    ControlSend, ContactMgrControl, %name%, ContactMgrWindow
    ControlSend, ContactMgrControl, Tab%email%, ContactMgrWindow
    
    ;etc...
    
    index++
}

verwandte Informationen