Hallo,
ich muss auf Daten einer Applikation zugreifen, für welche ich eine plugin dll erstelle.
Diese Daten werden von der Applikation über einen Dialog verwaltet und sind dot auch einstellbar/veränderbar.
Ich müsste nun die dortigen Einstellungen finden und einlesen und ggf. auch verändern.
Hättet Ihr da einen Tipp dazu wie ich da rangehen könnte ?
Man darf durchaus auch Titel wählen, mit denen man was anfangen kann....
Editiert.
Hallo cprogrammer
Bietet das PluginSystem der Applikation eventuell entsprechende Methoden an?
Werden die Daten denn irgendwo gespeichert? Hast du darauf Zugriff?
Die Daten über den Dialog abzugreifen ist suboptimal.
Gruss
Alf
Ohne irgendwelche Informationen kann dir dabei keiner helfen.
Lies mal deinen Beitrag und stell dir die Frage, wie jemand ohne Wissen über deine Anwendung was dazu schreiben soll.
Ohne grundlegende Informationen was du für Einstellungen hast, wo die herkommen und wo die ggf. wieder gespeichert werden soll, hat man keine Informationen.
Bitte liefere die mal nach, sonst wird es schwer hier irgendwas brauchbares sagen zu können.
T-Virus
Developer, Developer, Developer, Developer....
99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.
Zitat von T-Virus
Ohne irgendwelche Informationen kann dir dabei keiner helfen.
Lies mal deinen Beitrag und stell dir die Frage, wie jemand ohne Wissen über deine Anwendung was dazu schreiben soll.
Ohne grundlegende Informationen was du für Einstellungen hast, wo die herkommen und wo die ggf. wieder gespeichert werden soll, hat man keine Informationen.Bitte liefere die mal nach, sonst wird es schwer hier irgendwas brauchbares sagen zu können.
T-Virus
Die Aufgabenstellung ist etwa vergleichbar mit der Frage, wie lese ich die Daten im Dialogwindow "Optionen" von Word aus, siehe Anlage.
Leider habe ich auch nicht viel mehr informationen, lediglich die installierte Applikation und die Dateistruktur dazu.
Die Daten werden sicherlich irgendwo gespeichert, da sie beim jedem Aufruf vorhanden sind.
Daher war ja die Frage wie man da grundsätzlich rangehen könnte und ob es irgendwelche Tools gibt, die hier weiterhelfen.
Hört sich nicht gut an, was du da vor hast.
Eventuell hilft dir das hier: https://www.autoitscript.com/site/
Kannst ja auch mal beim Ersteller der Applikation nachfragen.
Zitat von cprogrammer
Ich müsste nun die dortigen Einstellungen finden und einlesen und ggf. auch verändern.
...
Die Daten werden sicherlich irgendwo gespeichert, da sie beim jedem Aufruf vorhanden sind.
Das kannst du z.B. mit dem Tool Prozessmonitor herausfinden.
Hallo, habe da was gefunden mittels Objektviewer.
Es wird eine Referenz auf ein Fenster Namens "Historical Data" benötigt, damit man auf die dortigen Properties zugreifen kann.
Es gibt eine entsprechende Klasse HistoricalData und u.a. eine Methode GetWindow(...) werden angezeigt.
Wäre das aus deiner Sicht eine Möglichkeit Alf ?
Falls ja, wie müsste man jetzt in der plugin dll vorgehen ?
Wenn ich die Klasse anlege dann wird GetWindow() leider nicht angeboten, siehe Bild.
Zitat von cprogrammer
Wenn ich die Klasse anlege dann wird GetWindow() leider nicht angeboten, siehe Bild.
Entweder Du meinst Google Suche nach "c# getwindow, Du hast die falsche Klasse oder Deine Methode ist einfach nicht public (oder andere Möglichkeiten..).
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
@Abt: "Startparameter" klingt aber eher nach den Main
- Args
, aber die sind hier ja nicht gemeint, sondern Einstellungen der Anwendung.
IIRC war der Titel davor "Parameter ermitteln" o.ä. - mittlerweile kann man erwarten einen Titel zu wählen, der was aussagt - vor allem wenn man Hilfe möchte.
Darauf hatte ich mich mit dem Titel-Edit bezogen gehabt (vor 2 Tagen). Vielleicht sagt der neue Titel mehr aus.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Zitat von cprogrammer
Wäre das aus deiner Sicht eine Möglichkeit Alf ?
Falls ja, wie müsste man jetzt in der plugin dll vorgehen ?
Es scheint ja um NinjaTrader zu gehen. Dort kommt man mit:
protected override void OnWindowCreated(Window window)
an die einzelnen Fenster. Du könntest schauen, ob du darüber auch an das von dir benötigte Window kommst.
Falls das nicht klappt, könntest du bei dem Hersteller nachfragen. Es gibt da wohl auch ein Forum.
Ansonsten bietet AutoIt auch ein Nuget-Paket an, mit dem du auf die Daten in dem Fenster zugreifen kannst.
Viel Erfolg 😃
Hi, besten Dank, der Support verweist bei soclhen Fragen darauf, dass dies über den Support hinaus geht 😉.
Mit der o.g. Funktion hat es leider nicht geklappt.
Aber ich habe nun über die von mir gefundene Klasse etwas gefunden, was ggf. funktionieren könnte, es fehlt mir nur noch ein "dependency Objekt".
In einem anderen Kontext (anderes Fenster) geht das so:
sdWindow = Window.GetWindow(this.UiWrapper.Parent) as NinjaTrader.Gui.SuperDom.SuperDom;
In meinem Kontext gibt es leider Probleme, siehe Bild.
M.E. wäre es angebrachter, herauszufinden, wo die Einstellungen gespeichert sind, anstatt diese aus einem Optionsdialog herauszulesen (denn dazu muß dieser ja im laufenden Programm auch geöffnet sein).
Zitat von Th69
M.E. wäre es angebrachter, herauszufinden, wo die Einstellungen gespeichert sind, anstatt diese aus einem Optionsdialog herauszulesen (denn dazu muß dieser ja im laufenden Programm auch geöffnet sein).
Hallo,
Der Dialog ist geöffnet, davon kann man ausgehen. Er wird soll durch die geplante Anwendung geöffnet werden
Herauszufinden wo die Properties des Dialopges gespeichert sind löst das Problem in diesem Falle nicht, weil der Dialog mittels der geplanten Lösung konfiguriert und "ferngesteuert" werden soll.