# WinCC 6.2 SP2 - Programmaufruf im Bildfenster



## MSP (4 Februar 2009)

Hallo zusammen,

aktuell rufe ich ein externes Programm in meinem Projekt mit folgendem Code auf:


```
#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
HWND Handle=NULL;
if(GetTagBit("On1"))
{
Handle=FindWindow(NULL, "Mozilla Firefox");
if(Handle)
{
ShowWindow(Handle, SW_SHOWMINIMIZED);
ShowWindow( Handle, SW_SHOWNORMAL );
SetForegroundWindow(Handle);
}
else
{
ProgramExecute("C:\\Programme\\Mozilla Firefox\\firefox.exe");
}
}
}
```
 
Das ganze öffnet mir nun das Programm wie gewünscht aus der Runtime heraus und legt es über die Runtime oder holt es, sofern es bereits geöffnet ist, wieder in den Vordergrund.

Gibt es nun eine Möglichkeit, diesen Aufruf in einem Bildfenster zu tätigen, so dass das Programm in meinem Bildfenster erscheint und nicht als externes Programm neben der Runtime läuft?

Gruss,
Michael


----------



## vladi (4 Februar 2009)

*Application im Fenster*

Hi Kollege,
evtl. als Idee:

aufrufen als OCX in einem Appl. Fenster? Mit WinCC hab's nicht gemacht, aber
mit Intouch Visu geht das, dort wurden im solche OCX Fenster IExplorer
oder Adobe Reader aufgerufen..

Gruss: V.


----------



## MSP (5 Februar 2009)

Hallo Vladi,

danke für den Hinweis mit der OCX-Einbindung.
Ich habe jetzt allerdings das einzubindende Programm erhalten und das Fenster ist nun genau so groß wie jenes meiner Visu, so dass ich dann doch lieber bei meinem Direktaufruf bleibe und das ganze über die Visu dann lege 

Gruss,
Michael


----------



## nuninu13 (10 März 2010)

Hallöchen,
werde das Thema mal wieder aufgreifen.

Ich möchte eine Exceldatei in Runtime öffnen und diese in einem bestimmt Bildfenster darstellen. Das öffnen der Exceldatei habe ich mit einem VBS-Skript realisiert. Doch wie bekomme ich das hin, dass die Exceldatei in einem bestimmt Bildfenster geöffnet wird?
Danke im Voraus

gruß 
mk


----------



## vladi (10 März 2010)

*Excel..*

Hi,

hm, direkt auf einem WinCC Bild andere Applikation..höchstens, wie schon gesagt, über Control oder OLE Objekt..

Gruss: V.


----------



## nuninu13 (10 März 2010)

Hallo Vladi,

ich werde mal weiter ausholen.

Ich habe mir über den Windows DDE Kanal einen Zugriff von EA-Feldern auf Zellen in einer Exceltabelle erstellt. 
Über einen Button öffne ich diese Exceltabelle und kann somit über die Zellen der Exceltabelle die Werte in den EA-Feldern ändern und umgekehrt (in Runtime). Für die Bedienung ist es jetzt erforderlich, dass das Excelfenster in WinCC Runtime integriert wird und nicht separat geöffnet wird. Momentan wird beim aufrufen der Exceltabelle die Taskleiste von Windows sichtbar was ich eigentlich vermeiden möchte.

Kann man das mit Controls oder OLE-Objekten realisieren?

Gruß
mk


----------



## vladi (10 März 2010)

*-*

Hi,

also wenn die Taskleiste das Problem ist, die kann man verstecken, es gibt Möglichkeiten dafür. Dann ist sie weg.
Sonst..keine Idee...


V.


----------



## nuninu13 (10 März 2010)

Hallo Vlade,

das mit der Taskleiste ist das kleinere Problem.
Blöd ist halt, dass bei der Eingabe in den EA-Feldern die Excelliste in den Hintergrund geht und nur mit ALT+Tab wieder sichtbar wird.
Aber Danke für die Mühe werde noch weiter probieren oder einen andern Ansatz finden.

gruß
mk


----------



## simaticanfänger (19 März 2010)

Hallo 
ich hätte ach gerne diese Programm umgesetz, je doch hab ich Probleme mit WinCC6.1 - es passiert leider nichts. Was passiert eigentlich in den ersten 4 Zeilen?

HWND Handle=NULL;
if(GetTagBit("On1"))
{
Handle=FindWindow(NULL, "Mozilla Firefox");
if(Handle)
{

Vielen Dank


----------



## Ralle (19 März 2010)

Es wird nachgesehen, ob schon eine Firefox-Fenster offen ist. Wenn ja, dann wird dieses einfach in den Vordergrund geholt, wenn nein, dann wird Firefox gestartet.


----------



## simaticanfänger (19 März 2010)

Tja soweit hab ich`'s auch verstanden - aber warum passiert unter WinCC6.0 garnichts - nicht mal das Programm geht auf
Gruß


----------



## Sierra192 (6 März 2016)

Hallo Zusammen, weiß jemand wie man das ganze unter WinCC 7.2 oder 7.3 einbinden kann?

Habe versucht es so zu übernehmen leider aber ohne erfolg.

Vielen Dank für die Antworten


----------

