Das mit dem "FernSteuern" von fremden Anwendungen ist bei uns seit Jahren Bestanddteil unserer Arbeit.
Im semiprofessionellen Finanzsektor gibt es zahlreiche Anbieter von guten Detaillösungen, aber wenn ein Anwender (s)einen optimierten Workflow will, scheitert dies da quasi immer an nicht vorhandenen APIs oder Schnittstellen. Rechtlich ist das vom Sicherheitskonzept da sogar oft garnicht möglich, sowas "offen" zu realisieren.
1. Wir verifizieren optisch jede
GUI Aktion per Screenshot, welcher jeweils intern per HASH über konstante Punkte validiert wird... bei erkannten Unstimmigkeiten oder Abweichungen(z.B.
GUI Änderungen des Fremdsystems) stoppt unsere Fernsteuerung von selbst und protokolliert/dokumentiert die Abweichung
2. Wir arbeiten immer mit einer Kombination aus Hard&Software, wenn wir etwas fernsteuern(heist wir haben eine kleine BOX, welche 2 USB Schnittstellen hat und sich auf einer per simulierter "HDI Mouse/Tastatur Kombi" völlig transparent als zweit Tastatur+Maus im System absolut unbemerkbar für Fremdsoftware verhält)
3. Wir klären mit dem Anwender, das er unser Tool nur auf eigene Verantwortung einsetzen kann. (er hat selbst ja auch das Risiko das bei einer stupiden Datenerfassung der Bediener der Fremdsoftware rein menschlich ein paar Eingabefehler macht, neben den Kosten der Arbeitszeit die er dafür braucht)
4. Unsere Anwender bestätigen uns neben den Kostenvorteilen auch eine geringere Fehlerquote bei wenigen Fehlalarmen oder Abbrüchen wegen erkannter/nicht erkannter
GUI/Umgebungsveränderungen
5. Unsere Anwender testen stets selbst zuerst manuell eine Basisversion, "die alles einträgt", aber die "speichern" Funktion noch nicht selbst auslöst... erst wenn das klappt, schaltet der Anwender selbst die "Vollautomatisierung" auf eigenes Risiko frei, die dann solange arbeitet bis eine Unstimmigkeit erkannt wird, ober der Anwender sie selbst wieder deaktiviert
-> auch wenn andere davon strikt abraten... wir machen es und gehen dabei auch mal in den Graubereich bis an die Grenze der rechtlich vertretbaren Funktionalität... Man darf viele fremde Programme/Services laut AGB der Fremdanbieter garnicht automatisiert nutzen oder da Daten abgreifen. Das ist aber nicht unser Problem, wenn ein Kunde von uns eine Automatisierungslösung für was auch immer will, dann bekommt er die auch. Wir haben schon mit kleinen Magneten echte Tasten an Fremdgeräten/Maschinen automatisiert gedrückt... wenn der Kunde zahlt weil er viel spart oder etwas will was er sonst nicht bekommt, dann ist sehr viel möglich.
-> wir arbeiten/bleiben bei Fremddaten stets sauber getrennt... wir greifen schreibend niemals Fremddatenquellen per Software direkt an(rein lesende Checks, als LOG-Funktion sind möglich)
-> wir hacken keine Fremdsoftware, wir machen bewußt niemals mehr wie das was ein normaler Anwender manuell auch tun könnte, nur eben automatisiert und wenn möglich etwas schneller
Genauer kann ich auf diesen Teil unserer Arbeit leider nicht eingehen, denn man macht sich mit sowas eventuell auch etwas unbeliebt... bzw. Kunden, welche auf eigenes Risiko bewusst gegen die AGB von anderen Anbietern verstoßen könnten von diesen belangt werden. Es werden auch 100W Lampen für Autoscheinwerfer für Rennzwecke entwickelt und an "jeden" verkauft, nur im Staßenverkehr darf man die nicht einsetzen, weil sonst die Betriebserlaubnis erlischt (so wie die Nutzungslizenz von Fremdsoftware eventuell erlischt, wenn man da was vom Anbieter ungewollt "fernsteuert"...)
=> also, ja es geht, man kann per Delphi entweder rein per Software oder besser per echter USB HDI Simulation ALLES fernsteuern, egal ob in JAVA oder was auch immer programmiert... bei Sachen mit
WinAPI-
GUI ist nur die Verifikation eventuell einfacher, wenn man sich in die Windows-Messages per "Hook" einhängt... wir machen das nicht und setzen immer auf unsere universelle grafische Verifikation mit einer Kombination aus OCR & Matrix Datenvergleich