Forum: PC-Programmierung Programm in anderes Programm einbetten


von Sven (Gast)


Lesenswert?

Hi Leute,

ich habe das Problem, dass ich einen Webcamstream nur mit einem gewissen 
Programm über die Konsole öffnen kann. Ich wollte dieses Fenster in 
meinem Visual Basic Programm öffnen und an einen gewisse Stelle 
einbinden will. Hat jemand eine Idee, wie ich dies einprogrammieren 
könnte, sodass diese über die Konsole aufgerufene Fenster genau an einer 
gewissen Stelle meines Visual Basic Programms aufgeht?

Mfg
Sven

von Holger (Gast)


Lesenswert?

Zusammenfassung
Dieser Artikel erläutert, wie dieser Artikel in einer Datei stdout aus 
einem C-programm umleitet, dann das stdout ursprünglich zu einem 
späteren Zeitpunkt in demselben Programm wiederherstellen kann. Die 
C-funktion, die gewöhnlich zu dem Umleiten von stdout oder Stdin 
verwandt wird, ist Freopen(). Verwenden Sie den folgenden Aufruf, um in 
einer Datei stdout umzuleiten, die als FILE.TXT bezeichnet wird: 
freopen( "file.txt", "w", stdout );
Diese Anweisung verursacht alle nachfolgende Ausgabe, die normalerweise 
gen stdout gerichtet wird, um zu der Datei FILE.TXT zu wechseln.

Verwenden Sie den folgenden Aufruf, um stdout an die (Standard stdout) 
Anzeige zurückzugeben:    freopen( "CON", "w", stdout );
Überprüfen Sie in diesen beiden Fällen den Rückgabewert von Freopen(), 
um sicherzustellen, dass die Umleitung tatsächlich stattfand.

Ein die Umleitung von stdout veranschaulichendes kurzes Programm 
befindet sich unten:
Zum Anfang

Beispielcod
// Compile options needed: none

#include <stdio.h>
#include <stdlib.h>

void main(void)
{
   FILE *stream ;
   if((stream = freopen("file.txt", "w", stdout)) == NULL)
      exit(-1);

   printf("this is stdout output\n");

   stream = freopen("CON", "w", stdout);

   printf("And now back to the console once again\n");
}

von Holger (Gast)


Lesenswert?

Based on my understanding, you want to open an .exe application 
(FileMaker-runtime) with full screen inside a Form.

The following code sample can achieve your goal by means of P/Invork.


Code Snippet
Public Class Form1



    Declare Auto Function SetParent Lib "user32" (ByVal hWndChild As 
IntPtr, ByVal hWndNewParent As IntPtr) As IntPtr



    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles MyBase.Load



        Me.WindowState = FormWindowState.Maximized 'The form will be 
opened in full screen.



        'Please replace Calc.exe with your .exe file (Note: specify 
correct file path).

        Dim P As Process = Process.Start("Calc.exe")

        P.WaitForInputIdle()



        SetParent(P.MainWindowHandle, Me.Handle) 'Let an application run 
inside the form.



    End Sub

End Class

von Sven (Gast)


Lesenswert?

Hi,

ich habe eine .bat Datei und will diese in einem gewissen Bereich meiner 
Form , meines Visual Basic Programms, öffnen. Sodass ich einen gewissen 
Bereich, indem dieses  andere Programm läuft und mir den Stream anzeigt, 
habe.



Gruß
Sven

von twister (Gast)


Lesenswert?

shell xx.bat  war das oder?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.