.exe innerhalb .net window starten

londo

Grünschnabel
hallo,

ich suche schon seit tagen nach einer möglichkeit eine externe .exe datei innerhalb einer .net anwendung aufzurufen.
dabei mein ich nicht per konsole die .exe in ihrem eigenen fenster zu starten, sondern ist es möglich ein bereich innerhalb eines projects zu definieren in dem die .exe dann ausgeführt wird?

meine suche hatte bis immer nur die variante ausgespuckt, welche die .exe einfach startet als würde ich sie normal starten.

danke schonmal
 
Hi

Erstmal möchte ich dich auf die Netiquette aufmerksam machen. Vorallem auf Punkt 15
Netiquette hat gesagt.:
Unser Forum ist kein Chatroom. Kurz-Beiträge ("Ein-Zeilen Postings"), die einfach so ins Forum "geklatscht" werden, werden ohne Vorwarnung von einem Moderator oder Administrator gelöscht. Das gleiche gilt insbesondere für Beiträge, die in Rechtschreibung, Satzbau und Verständlichkeit nicht ein vernünftiges, allgemein übliches und altersgruppen-übergreifendes Niveau erfüllen. Jugendsprache, regional verbreitete Dialekte und durchgehend kleingeschriebene Beiträge sind ebenfalls unerwünscht. Mit anderen Worten: wer erfolgreich die im Deutsch-Unterricht erlernten Kenntnisse praxisnah auf unserem Forum anwenden kann, wird nicht mit dieser Regel in Konflikt kommen. "Wiederholungstäter" werden, nachdem sie zuvor von einem Moderator auf die Mängel hingewiesen wurden, ggf. unbefristet gesperrt.

Zum Problem:
Was verstehst du unter einen Bereich definieren?
Willst du die zu startende Anwendung in deine einbetten oder wie ist das zu verstehen?
Prinzipiell lässt sich eine andere Anwendung über die Prozess-Klasse starten. Mit der statischen Start-Methode losgelöst der startenden Anwendung. mit den Instanzmethoden kannst du dir eine Referenz auf die neue Anwendung halten.
 
Ich glaube londo will eine externe Window-Application starten und dann sozusagen dessen Form als Kind-Element von, sagen wir, einem Panel, in die eigene Anwendungen einbauen.
Keine Ahnung ob das geht. Stellt unter WinXP/Vista bestimmt eine Zugriffsverletzung da, wenn man versucht im Speicher so zumzuschreiben, dass das Fenster dann plötzlich einer anderen Anwendung gehört.
 
Ok, wenn es dass ist, wäre eine Variante, die zweite Exe als Referenz oder dynamisch zu laden und diese per Code zu Instanzieren und auszuführen. Dafür muss die zweite Anwendung aber entsprechend geschrieben sein.
 
hallo,

versteh den hinweis auf die netikette nicht...wenns nicht mehr zu schreiben gibt:-/

ok, also problem ist folgendes ich habe 2 programme. einmal nen c++ programm und einmal ne access lösung.
das c++ tool wird über die access anwendung mit parameterübergabe gestartet und und führt dann paar berechnung aus und stellt die visuell dar.
jetzt soll das alles geändert werden, dass nicht mehr 2 seperate programme gestartet werden müssen sondern alles über ein programm läuft.

hatte mir jetzt überlegt die access geschichten in vb.net nochmal aufzubereiten und zu verbessern und das Berechnungtool dann in vb laden z lassen.
quasi so, man hat an der seite eine steuerleiste wo man die ganzen importsachen etc. durchklicken kann und daneben wird aufn panel oder datagrid...alles dar gestellt.
wenn man nun auf den button klickt der das berechnungstool starten soll, dann sollte auch dieses tool auf dem panel, oder was auch immer dann benutzt wird, dar gestellt werden.
aber ich habe bis jetzt nur die möglichkeit gefunden es in einem neuen fenster starten zu lassen.

eine weitere überlegung war das projekt in das bestehende vb projekt zu importieren, und dann als programmbestandteil laufen zu lassen.
der import hat auch ohne probleme geklappt, jetzt sitz ich daran das importierte projekt über das main projekt zu starten.

beste grüße
 
Guten Morgen,

So hab die Netiquette nochmal gelesen, also da es kein ein Satz geklatsche ist muss es wohl an mein Ost-Deutsch liegen, aber glaub mir das ist schon deutsch:D

nu aber wieder zum Problem,
hab da noch eine Frage.
Habe gestern noch einmal über den Import nachgedacht.
Dabei kam mir folgender Gedanke, wenn ich das Projekt importiere und kompiliere erstellt der mir ja wieder ne .exe aus dem Berechnungstool weil es ja so Programmiert wurde. also habe ich doch im Endeffekt den selben Stand wie vorher?

also müsste ich den code so anpassen das daraus keine .exe erstellt wird?
Seh ich das so richtig oder bin ich falsch abgebogen irgendwo?

danke
 
hallo skakie, Nico,

nachdem ich nun eure Tipps beherzigt habe und dann bei der Umsetzung noch etwas rum gespielt habe, bin ich auf eine Lösung gestoßen, die wunderbar funktioniert.

*thumbsup* für die Tipps:)

Ich hab es jetzt so gelöst:
Ich schaue nach aus welchem Fenster heraus der Aufruf kam.
dann wird das Programm auf gerufen und in dem aufrufendem Form dar gestellt.
funktioniert alles ohne Probleme.

bei bedarf kann ich den Code posten.

thema kann als erledigt betrachtet werden.

danke
 
Hallo londo,

ich denke das es immer angebracht ist die Lösung zu posten.
Damit auch andere User die Möglichkeit haben deine Lösung anzuschauen und evtl. für eigene Bedürfnisse zu verwenden...;)
Ich würde mich sehr freuen, da ich auch gerade an einem ähnlichen Problem arbeite.

Danke schon mal im Voraus!

Grüße,
Ardro
 
Zurück