XE7: EXE-Datei in Anwendung "einbetten"
-
@OP:
Ja und? Codeschnispel hinwerfen und drauf warten, dass es dir jemand programmiert?
-
@DocShoe Hä? Hat @OP seinen Post etwa gelöscht?
-
@DocShoe Über ein Code-Beispiel wäre ich aber trotzdem dankbar.
-
-
LuksSoftware schrieb:
@DocShoe Hä? Hat @OP seinen Post etwa gelöscht?
Der OP bist du.
Außerdem finde ich das mit dem Einbetten eine furchtbare Idee. Sag doch mal, warum du meinst, du bräuchtest das.
-
[quote="audacia"]
LuksSoftware schrieb:
Außerdem finde ich das mit dem Einbetten eine furchtbare Idee. Sag doch mal, warum du meinst, du bräuchtest das.
Dem schliesse ich mich an. Sowas macht man nur in absoluten Ausnahmefällen und wenn einem nach "jahrelangem" Grübeln nichts Besseres eingefallen ist.
-
Hallo,
was ist das fuer eine Diskussion. Die einzig brauchbaren Antworten waren der Verweis auf CreateProcess, WaitForInputIdle und SetParent (die sich ja einfach von dem NET-Schnipsel uebertragen lassen).
Da fehlt aber noch
p.MainWindowHandle
.
Und das muss man dann scheinbar so machen: http://stackoverflow.com/questions/1888863/how-to-get-main-window-handle-from-process-idund ob einem dann die Definition von
BOOL is_main_window(HWND handle) { return GetWindow(handle, GW_OWNER) == (HWND)0 && IsWindowVisible(handle); }
gefaellt, ist eine ganz andere Frage (Abhaengig von der Anwendung).
Bitte nach WinApi verschieben, hat nichts mit VCL zu tun.
-
Das Handle bekommt man ja auch über die VCL mit TApplication::Handle. Es geht natürlich auch alles mit WinAPI.
-
Und wie deklariere ich bitte den Prozess? System::Diagnostics::Process^ p = [...] gibt's ja im C++ Builder nicht. Vielleicht ja mit ShellExecute(), aber wie muss ich das schreiben? Entschuldigt mich, ich bin ziemlich schlecht in C++.
-
Zu ShellExecute und Konsorten gibt es einen Eintrag in der FAQ
http://www.c-plusplus.net/forum/viewtopic-var-t-is-39256.html