AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Control in Fremdprogramm einfügen

Ein Thema von Sugar · begonnen am 21. Aug 2013 · letzter Beitrag vom 23. Aug 2013
Antwort Antwort
Seite 1 von 2  1 2      
Sugar

Registriert seit: 23. Jul 2012
83 Beiträge
 
#1

Control in Fremdprogramm einfügen

  Alt 21. Aug 2013, 17:42
Hallo,

wir haben leider ein ganz schrecklich vermurkstes ERP System im Einsatz das uns viele kaufmännische Probleme bringt.

Als ich mir kürzlich ein DMS System angesehen habe, habe ich eine geniale Lösung vorgeführt bekommen. Die Entwickler dieses Dokumenten-Management-Systems haben eine sog. Smart-Connect Funktion entwickelt. Sie können in jeder beliebigen Fremd-Anwendung eine Schaltläche integrieren, die dann ihr eigenes System aufruft. Eine kleine Konfigurationsoberfläche erlaubt sogar, ein Control der Fremdapplikation auszulesen, um so eine Referenz zu erhalten.

Für mich wäre das genial. Ein Button in unserem ERP System, der meiner Anwendung den Inhalt eines der ERP-System Felder übergibt, meine Applikation aufruft und mich dann machen lässt.

Kennt jemand einen Weg dies umzusetzen? Ich muss gestehen, ich bin nicht der große Entwicklerheld sondern lediglich ambitionierter Hobbypilot was Delphi angeht...

Wäre für Hinweise oder gar Lösungen super dankbar.

Gruß
Sugar
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Control in Fremdprogramm einfügen

  Alt 21. Aug 2013, 18:27
Dazu solltest du dir diesen Beitrag durchlesen

http://www.delphipraxis.net/15388-wi...6-09-08-a.html
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Sugar

Registriert seit: 23. Jul 2012
83 Beiträge
 
#3

AW: Control in Fremdprogramm einfügen

  Alt 21. Aug 2013, 19:58
Etwas zu abstrakt für mich!

So Ein Step-By-Step wär nicht schlecht!
  Mit Zitat antworten Zitat
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#4

AW: Control in Fremdprogramm einfügen

  Alt 21. Aug 2013, 20:12
Unter Windows sind alle Controls Fenster und mit einem Handle versehen.
Das kann man sich mittels MSDN-Library durchsuchenFindWindow und MSDN-Library durchsuchenFindWindowEx holen. Genauer gesagt: das des zukünftigen parent-Controls.
Wenn du das passende Handle hast, kannst du dein eigenes WinControl(!) (kann z.B. ein TButton sein) mittels MSDN-Library durchsuchenSetWindowPos auf dem parentcontrol platzieren.

Wichtig ist dass dein Control von TWinControl abstammt (oder du machst es selber mittels Win32API).

Dein Programm läuft also im Hintergrund, während der Button auf dem fremden Formular liegt.

Zu den genannten Funktionen gibt es übrigens hier im Forum und anderswo schon mehr als genug Lektüre, also zuerst die Suche bemühen, bevor du Fragen stellst.

PS: Die WindowNames kannst du ganz einfach über den WinSpy herausfinden.
Delphi programming
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#5

AW: Control in Fremdprogramm einfügen

  Alt 22. Aug 2013, 01:54
Ich muss gestehen, ich bin nicht der große Entwicklerheld sondern lediglich ambitionierter Hobbypilot was Delphi angeht...
Darf ich das so verstehen, daß du Programmier-Anfänger bist? In diesem Fall wäre eher davon abzuraten, komplexe ERP-Programme manipulieren oder ergänzen zu wollen. Wieso nicht einen externen Entwickler beauftragen, der sein Handwerk auch versteht?

Wäre für Hinweise oder gar Lösungen super dankbar.
Lippenbekenntnisse Zielführender wäre hier die Bereitschaft deines Chefs zur Dankbarkeit gegenüber einem fähigen Entwickler. Immerhin soll ja aus einem vermurksten System was Brauchbares werden. Als Wochenend- oder Hobby-Programmierer verfügt man jedoch gewöhnlich nicht über entsprechende Fertig- und Fähigkeiten.

Etwas zu abstrakt für mich! So Ein Step-By-Step wär nicht schlecht!
Wenn dir das schon zu abstrakt ist ...
  Mit Zitat antworten Zitat
sugar421

Registriert seit: 17. Mär 2007
18 Beiträge
 
#6

AW: Control in Fremdprogramm einfügen

  Alt 22. Aug 2013, 06:39
Unter Windows sind alle Controls Fenster und mit einem Handle versehen.
Das kann man sich mittels MSDN-Library durchsuchenFindWindow und MSDN-Library durchsuchenFindWindowEx holen. Genauer gesagt: das des zukünftigen parent-Controls.
Wenn du das passende Handle hast, kannst du dein eigenes WinControl(!) (kann z.B. ein TButton sein) mittels MSDN-Library durchsuchenSetWindowPos auf dem parentcontrol platzieren.
Danke für den Hinweis. Damit komme ich einen Schritt weiter...


Darf ich das so verstehen, daß du Programmier-Anfänger bist? In diesem Fall wäre eher davon abzuraten, komplexe ERP-Programme manipulieren oder ergänzen zu wollen. Wieso nicht einen externen Entwickler beauftragen, der sein Handwerk auch versteht?

Lippenbekenntnisse Zielführender wäre hier die Bereitschaft deines Chefs zur Dankbarkeit gegenüber einem fähigen Entwickler. Immerhin soll ja aus einem vermurksten System was Brauchbares werden. Als Wochenend- oder Hobby-Programmierer verfügt man jedoch gewöhnlich nicht über entsprechende Fertig- und Fähigkeiten.

Etwas zu abstrakt für mich! So Ein Step-By-Step wär nicht schlecht!
Wenn dir das schon zu abstrakt ist ...
Danke für deine spitzfinden Anmerkungen, etwas angebrachter in einem Forum, dessen Sinn es ja ist Hilfe zu erfragen und anzubieten, wäre es aber etwas zum konkreten Thema beizutragen,oder? Lieber bin ich dann Hobbypilot in der Programmierung als User mit mangelnden sozialen Kompetenzen. Denk mal drüber nach... wenns denn noch geht.
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#7

AW: Control in Fremdprogramm einfügen

  Alt 22. Aug 2013, 07:52
Darf ich das so verstehen, daß du Programmier-Anfänger bist? In diesem Fall wäre eher davon abzuraten, komplexe ERP-Programme manipulieren oder ergänzen zu wollen. Wieso nicht einen externen Entwickler beauftragen, der sein Handwerk auch versteht?
Lippenbekenntnisse Zielführender wäre hier die Bereitschaft deines Chefs zur Dankbarkeit gegenüber einem fähigen Entwickler. Immerhin soll ja aus einem vermurksten System was Brauchbares werden. Als Wochenend- oder Hobby-Programmierer verfügt man jedoch gewöhnlich nicht über entsprechende Fertig- und Fähigkeiten.

Etwas zu abstrakt für mich! So Ein Step-By-Step wär nicht schlecht!
Wenn dir das schon zu abstrakt ist ...
Danke für deine spitzfinden Anmerkungen, etwas angebrachter in einem Forum, dessen Sinn es ja ist Hilfe zu erfragen und anzubieten, wäre es aber etwas zum konkreten Thema beizutragen,oder? Lieber bin ich dann Hobbypilot in der Programmierung als User mit mangelnden sozialen Kompetenzen. Denk mal drüber nach... wenns denn noch geht.
Mein Kommentar entstand aus deinem Hinweis, du seist lediglich Hobby-Programmierer. Das liest sich: Bitte versteht, daß ich mich nicht gut auskenne mit Delphi, weil ich das nur ab und zu mal mache. Für Hobby-Programmierer ist es meiner Erfahrung und Kenntnis nach jedoch zu schwer – weil mit tieferen und daher meist nicht vorhandenen Kenntnissen und Fertigkeiten verbunden –, komplexe Anwendungen für den Ernstfall (Produktivumgebung) zu entwickeln, geschweige denn, Fremdcode zu verstehen und weiter zu entwickeln. Das kannst du gerne als Spitzfindigkeit auffassen, war aber tatsächlich als ernstzunehmender Hinweis gedacht.

Im letzten Fall, der mir in dieser Hinsicht begegnet ist, hatte auch ein Mitarbeiter großspurig verkündet, er könne ein bestimmtes Problem einer WaWi-Software durch eine ergänzende Anwendung lösen. Er konnte es letztendlich nicht und erwartete von mir als enferntem Bekannten, daß ich ihm das kostenlos alles ganz genau erkläre – und das alles mehrmals täglich und sogar am Wochenende –, was im Prinzip einer Entwicklung inklusive Programmierschulung gleichgekommen wäre, hätte ich ihm nicht ziemlich genau das Gleiche mitgeteilt wie dir oben. Das Ende vom Lied: er mußte seinem Chef eingestehen, daß er sich überschätzt hatte. Ich bekam den Auftrag jedoch trotzdem nicht, denn der bedauernswerte Bekannte war hernach nicht mehr allzu gut auf mich zu sprechen, denn ich hatte ihn ja, wie er sich ausdrückte, im Stich gelassen.

Genau denselben Eindruck hast du auf mich gemacht, vor allem auch deshalb, weil du keinen eigenen Ansatz vorweisen konntest, sondern eine sehr allgemeine Frage à la "wie macht man das überhaupt?" gestellt hast. Meinen eigentlich wertvollen Hinweis nun als Zeichen sozialer Inkompetenz zu deuten kommt ungefähr der Aufforderung nach, Bemerkungen, die eventuell vorhandene Selbstüberschätzung aufdecken könnten, doch bitte in Zukunft zu unterlassen (oder gar einem fishing for compliments für die Selbstklassifizierung als Hobbyprogrammierer?). Davon abgesehen habe ich dich nicht als Anfänger bezeichnet, sondern gefragt, ob es denn zuträfe, daß du mit "Hobbyprogrammierer" ausdrücken wolltest, du seist Anfänger. Darauf hast du dich nicht eingelassen, sondern meinen Hinweis in Bausch und Bogen zurückgewiesen und diese Zurückweisung mit der Behauptung, ich sei sozial inkompetent, zu untermauern gesucht.

Mit anderen Worten: Wenn du hier oder in anderen Delphi-Foren Hilfe in Form von "kann mir das einer mal schnell programmieren" (à la "Wäre für Hinweise oder gar Lösungen super dankbar") erwartest, wirst du enttäuscht werden. Ich hätte dir gerne geholfen, wenn etwas nicht funktioniert, wenn du zumindest einen eigenen Ansatz gezeigt hättest, statt zu erwarten, man sende dir fertigen Code zu.

Geändert von Perlsau (22. Aug 2013 um 17:11 Uhr)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Control in Fremdprogramm einfügen

  Alt 22. Aug 2013, 22:04
Hallo,

bin der gleichen Meinung.
Aber der TE wollte ja ein paar Hilfen.

einfach mal nach

globale Hooks (in Dlls)
DLL Injection
FindWindowEx

googlen.

Und dann mit ein bisserl Glück was programmieren.

Heiko
Heiko
  Mit Zitat antworten Zitat
Alt 22. Aug 2013, 22:21     Erstellt von Smut
Dieser Beitrag wurde von TBx gelöscht. - Grund: Verdacht auf SPAM und den damit verbundenen verschwenderischen Umgang von wertvollen Bits und Bytes
Mathematiker
(Gast)

n/a Beiträge
 
#9

AW: Control in Fremdprogramm einfügen

  Alt 22. Aug 2013, 23:05
Hallo,
irgendwie verstehe ich das nicht. Ich habe gelernt:
Zitat:
Bearbeitungen von Computerprogrammen sind als grundsätzlich zustimmungsbedürftige Handlungen von der Billigung des Rechtsinhabers abhängig (§ 69c Nr. 2 S. 1 UrhG). Falls Dekompilierungsarbeiten notwendig sind, sind auch bereits diese gem. § 69c Nr. 1 und 2 UrhG verboten und lediglich in den engen Ausnahmen des § 69e UrhG erlaubt.
Auch die Benutzung im lediglich privaten Bereich ändert nichts an dem Verbot.
Daraus schlussfolgere ich, dass, unabhängig von programmtechnischen Schwierigkeiten, man nicht so ohne weiteres in Fremdprogramme eingreifen darf.
Sehe ich das falsch?

Beste Grüße
Mathematiker
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#10

AW: Control in Fremdprogramm einfügen

  Alt 23. Aug 2013, 02:06
Hallo,
irgendwie verstehe ich das nicht. Ich habe gelernt:
Zitat:
Bearbeitungen von Computerprogrammen sind als grundsätzlich zustimmungsbedürftige Handlungen von der Billigung des Rechtsinhabers abhängig (§ 69c Nr. 2 S. 1 UrhG). Falls Dekompilierungsarbeiten notwendig sind, sind auch bereits diese gem. § 69c Nr. 1 und 2 UrhG verboten und lediglich in den engen Ausnahmen des § 69e UrhG erlaubt.
Auch die Benutzung im lediglich privaten Bereich ändert nichts an dem Verbot.
Daraus schlussfolgere ich, dass, unabhängig von programmtechnischen Schwierigkeiten, man nicht so ohne weiteres in Fremdprogramme eingreifen darf.
Sehe ich das falsch?
Deine Ausführungen treffen wohl weitgehend zu. Davon abgesehen ist es äußerst diffizil, ein komplexes Fremdprogramm zu decompilieren, um dann sinnvolle Änderungen damit bewerkstelligen zu können. Sowar die – wohlgemerkt erlaubte – Fremdsteuerung von Anwendungen (Automation) durch eigenentwickelte Zusatzprogramme ist nicht gerade als einfach zu bezeichnen, zumal ja häufig nicht einmal die entsprechende Dokumentation verfügbar ist. Der TE schrieb ja von einer "sog. Smart-Connect Funktion": Damit könne man angeblich "in jeder beliebigen Fremd-Anwendung eine Schaltläche integrieren, die dann ihr eigenes System aufruft. Eine kleine Konfigurationsoberfläche erlaubt sogar, ein Control der Fremdapplikation auszulesen, um so eine Referenz zu erhalten." Wenn ich den von dir zitierten Gesetzestext richtig verstehe, dürfte auch das nicht gestattet sein, sofern dadurch die ausführbare Datei der Fremdanwendung tatsächlich verändert würde. Alles andere fällt im Grunde unter (Ole-) Automation und ist nicht verboten. Doch um Automation zu bewerkstelligen, bist du auch wieder auf eine mehr oder weniger ausführliche Dokumentation der internen Funktionsweise des Fremdprogramms angewiesen.

Man kann davon ausgehen, daß derartige Techniken, die hier eigentlich nicht verbreitet werden sollen, hauptsächlich der illegalen Manipulation von Programmen dienen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:52 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz