Autor Beitrag
rochus
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 416

Win XP Prof, Fedora Core 4, SuSE 7.0
D7 Ent, D2005 Pers
BeitragVerfasst: Sa 25.12.04 17:16 
Hallo,
bin mir jetzt nicht ganz sicher, ob das hier her gehört, aber ich nehme mal an, wenn was geht, dann über die Win32API :)

Meine Frage ist eigentlich erstmal prinzipieller Natur, also ob das schon mal jemand gemacht hat, und wenn ja, wie:
Ohne COM oder ähnliches anzusprechen würde ich gerne eine Anwendung so einfangen, dass ich sie quasi wie ein MDI Fenster anspreche. In der Taskleiste sollte die Anwendung wenn möglich nicht unbedingt erscheinen, das wäre aber zu "verkraften". Also quasi fernsteuerung nur ohne COM.

Geht sowas und wenn ja, wo bekomme ich Informationen dafür.

gruß
rochus

_________________
Im Nachhinein ist man immer ein Schlauch!
"Dream as if you'll live forever, live as if you'll die today!" James Dean
Karlson
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 2088



BeitragVerfasst: Sa 25.12.04 18:56 
Ich kapiere echt nicht was du meinst ;)

Aber "fernsteuern" kannst du das Fenster doch mit dem Handle und so sachen wie PostMessage. Also da kannst du z.b. Buttons klicken, und statics editieren und das Fenster verschieben usw.

Meinst du das?
rochus Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 416

Win XP Prof, Fedora Core 4, SuSE 7.0
D7 Ent, D2005 Pers
BeitragVerfasst: Sa 25.12.04 19:06 
Okay, ich versuchs nochmal zu erklären, was ich eigentlich will *g*.

Es klingt jetzt so ähnlich wie ein Desktop-Ersatz, wie etwa Litestep oder SharpE, ist aber ganz anders:
Stell dir vor, die Anwendung startet und links hast du wie bei Outlook so ne Outlook-bar. Jetzt ist auf den einzelnen Buttons dieser Bar nicht irgendne Mail- oder Kalenderfunktion, sondern über diese Buttons startest du irgendein Programm, sagen wir mal, Notepad.

Das starten und so weiter ist alles kein Problem und an die Anwendung Nachrichten schicken auch nicht, aber: Ich hätte gern, dass die Anwendung, die ich starte "innerhalb" meines Formulars angezeigt wird. Also wie, wenn ich ein MDI Fenster erzeuge.

Ich hoff jetzt ist's verständlicher? *lol*


gruß
rochus

_________________
Im Nachhinein ist man immer ein Schlauch!
"Dream as if you'll live forever, live as if you'll die today!" James Dean
Jakob Schöttl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 929
Erhaltene Danke: 1


Delphi 7 Professional
BeitragVerfasst: Di 02.01.07 22:09 
Nur der Vollständigkeit will ich hier, um dieses Thema abzuschließen sagen:
ausblenden Delphi-Quelltext
1:
Windows.SetParent(FindWindow(nil,'<FensterName (entspricht in Delphi: Form.Caption) des zukünftigen "MDI-Fensters">'),Self.Handle);					

Hier wird also die Eigenschaft Parent des Zielfensters auf dein eigenes Delphi-Form gesetzt. Das Programm wird dann in deinem Fenster angezeigt. Hättest das gleiche Thema hier im df gefunden.


Zuletzt bearbeitet von Jakob Schöttl am Di 02.01.07 23:11, insgesamt 2-mal bearbeitet
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8549
Erhaltene Danke: 478

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Di 02.01.07 22:32 
user profile iconJakob Schöttl hat folgendes geschrieben:
Hättest das gleiche Thema hier im df gefunden.
Richtig. Ein Zeitsprung von knapp zwei Jahren in die Zukunft ist ja seit den 80er Jahren dank des Flux-Kompensators kein Problem mehr. :roll:

Und auch wenns bei dir scheinbar funktioniert hat, so würde mich mal interessieren, ob das nicht mehr gilt:
aus der Delphi Hilfe (D7 Personal):
Remarks

An application can use the SetParent function to set the parent window of a pop-up, overlapped, or child window. The new parent window and the child window must belong to the same application.

_________________
We are, we were and will not be.
Jakob Schöttl
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 929
Erhaltene Danke: 1


Delphi 7 Professional
BeitragVerfasst: Di 02.01.07 23:14 
user profile iconGausi hat folgendes geschrieben:
user profile iconJakob Schöttl hat folgendes geschrieben:
Hättest das gleiche Thema hier im df gefunden.
Richtig. Ein Zeitsprung von knapp zwei Jahren in die Zukunft ist ja seit den 80er Jahren dank des Flux-Kompensators kein Problem mehr. :roll:


Gut, das hab ich übersehen...

user profile iconGausi hat folgendes geschrieben:
Und auch wenns bei dir scheinbar funktioniert hat, so würde mich mal interessieren, ob das nicht mehr gilt:
aus der Delphi Hilfe (D7 Personal):
Remarks

An application can use the SetParent function to set the parent window of a pop-up, overlapped, or child window. The new parent window and the child window must belong to the same application.


... aber falls das auch ironisch gemeint ist: Bei mir geht es wirklich (WinXP, D7Prof)!
Du hast nicht zufällig versehentlich bei der VCL-Hilfe von TCustomForm.SetParent nachgesehen?