So funktioniert JustAnswer:

  • Fragen Sie einen Experten
    Tausende Experten in über 200 Kategorien.
  • Erhalten Sie eine professionelle Antwort
    Per E-Mail oder sofortiger Benachrichtigung, während Sie auf unserer Website warten.
    Stellen Sie ggf. weitere Anschlussfragen.
  • 100%ige Zufriedenheit garantiert
    Bewerten Sie die erhaltene Antwort.

Stellen Sie Ihre Frage an Tronic.

Tronic
Tronic, IT-Specialist
Kategorie: Computer
Zufriedene Kunden: 2269
Erfahrung:  Elektroniker und EDV-Service
31581453
Geben Sie Ihre Frage in der Kategorie Computer hier ein
Tronic ist jetzt online.

Hallo, ich habe Siemens-WinCC auf Windows 7 laufen und suche

Kundenfrage

Hallo, ich habe Siemens-WinCC auf Windows 7 laufen und suche eine Funktion, die eine im DOS-Fenster laufende Anwendung in den Vordergrund bringt (und dieses DOS Fenster auch aktiviert) und ebenso wieder in den Hintergrund.
benutzt habe ich SetForegroundWindow() sowie ShowWindow()
Nach dem Programmstart ist die DOS-Anwendung im Vordergrund, danach im Hintergrund, dann wieder im Vordergrund (allerdings nicht aktiv) wenn ich dann das Fenster aktiviere und wieder in den Híntergrund bringe, bleibt es im Hintergrund
Was kann ich tun? (Früher, vor vielen Jahren unter NT hat es funktioniert...)
Gepostet: vor 4 Jahren.
Kategorie: Computer
Experte:  IT-Fachinformatiker hat geantwortet vor 4 Jahren.
Hallo,

hm also Windows NT 4.0 ist ja schon sehr sehr sehr allt und das kann man nicht mehr vergleichen es hat sich sehr viel verändert. DOS wird nicht mehr unterstützt nur noch die 32-Bit Windows System können in sher beschränkter Form DOS-Anwendungen in einer virtuellen Maschine laufen lassen es wurde aber sehr viel entfernt und in 64-Bit Versionen geht es natürlich ohne hin nicht.

Das hier:

http://msdn.microsoft.com/de-de/library/bb979463.aspx

haben Sie ja schon gemacht. Handelt es sich denn um eine konkrete 16-Bit Anwendung dies geht aus Ihrer Frage nicht ganz so hervor da Sie evtl. auch einfach nur "DOS-Fenster" als Bezeichnung meinen könnten.

Gruss Günter
Kunde: hat geantwortet vor 4 Jahren.

Das BDE-Programm, was in Clipper programmiert wurde, wurde mit Hilfe des Alaska Base Compilers windowsfähig gemacht. Dieses Programm läuft auch (erstaunlicherweise !) problemlos unter Windows 7. Wird in WinCC der BDE Button gedrückt, wird überprüft, ob die BDE bereits gestartet ist:

#include "apdefap.h"

void BDE()

{

HWND hwnd;

int a;

a = GetTagBit("BDE")

if((hwnd= API_Find_RunningProg("I:\\Betrieb\\SMS100\\SCAN\\SMS100.exe"))==NULL)

{

//läuft noch nicht, also starten...

ProgramExecute("C:\\USERS\SMS100T\\Desktop\\BDE.BAT);

SETTagBit("BDE",1);

}

//ist gestartet, aber BDE Bit ist 0, d.h. Fenster im Hintergrund

else if (a==0)

{

maxWindow("I:\\Betrieb\\SMS100\\SCAN\\SMS100.exe");

SetTagBit("BDE",1);

else

SetTagBit("BDE",0);

}

 

 

Wenn nicht wird die BAT.Datei aufgerufen

Wenn es bereits gestartet wurde, soll das Fenster nach dem BDE-Knopf drücken in den Hintergrund verschwinden und beim nächsten BDE-Knopf-drücken wieder in den Vordergrund kommen und aktiv sein usw.

 

Wie gesagt ist der Ablauf zur Zeit:

 

1. Knopfdruck (KD) Prgrammstart (richtig)

2. KD Programm im Hintergrund (richtig)

3. KD Programm wieder im Vordergrund (richtig) aber nicht aktiv (sollte es aber!!!)

wird das Fenster dann aktiviert, und kommt dann der ...

4. KD, so verschwindet es in den Hintergrund (richtig)

danach kann man beliebig oft den BDE-Knopf drücken, das Programm bleibt im Hintergrund

 

c-Code von maxWindow:

 

#include "apdefap.h"

void maxWindow(char*ProgName)

{

HWND hwnd;

hwnd = API_Find_RunningProg(ProgName);

#pragma code("user32.dll);

SetForegroundWindow(hwnd);

ShowWindow(hwnd,SW_SHOWMAXIMIZED);

}

 

 

 

BDE.BAT

I:

cd\Betrieb\SMS100\scan

start /normal I:\Betrieb\SMS100\SCAN\BDE_SMS.EXE

 

 

 

Experte:  IT-Fachinformatiker hat geantwortet vor 4 Jahren.
Hm, das das unter win7 läuft ist Zufall bzw. Glück das wird nur von kurzer Dauer sein, dessen müssen Sie sich klar sein denn Microsoft wird noch sehr viel ändern Sie arbeiten ja offensichtlich mit sehr alten Programmen wahrscheinlich, weil es dafür einen Grund gibt (Kosten/geht nicht anders usw.) gut Win7 bzw. dessen API hat sich massiv geändert und keine Rücksicht auf alte Programme genommen das ist Fakt. Das bedeutet leider auch, das die API-Aufrufe die Sie verwenden zum Teil anders wirken als es noch früher unter XP der Fall war.

Haben Sie denn einfach mal versucht das ganze im XP-Kompatibilitätsmodus oder vielleicht sogar im XP-Modus (nur Win7 Pro und Ultimate) zu machen? Die Stapeldateien sind ebenfalls ein Problem. Ich muss mir das mal in ruhe ansehen, das dauert aber eine Weile.

Gruss Günter
Kunde: hat geantwortet vor 4 Jahren.

Hallo & frohes neues Jahr Günter,

Ich habe das Programm im XP-Kompatibltätsmodus gestartet. Hat zum Programmabsturz geführt...

Danach habe ich in Delphi ein Mini-Programm geschrieben und gestartet. Auch hier war es nicht möglich, das Programm in den Vordergrund zu bekommen.

Dann habe ich bei Siemens gestöbert. Dort wurde ich fündig:

Das Programmfenster muß zunächst minimiert werden und dann wieder geöffnet werden. Jetzt funktionierts (beide Programme

Attachments are only available to registered users.

Register Here
)

Hier die entscheidenen Programmzeilen:

 

ShowWindow(hwnd, SM_MINIMIZE);

ShowWindow(hwnd, SW_SHOWNORMAL);

SetForegroundWindow(hwnd);

 

Gruss Michael

Experte:  IT-Fachinformatiker hat geantwortet vor 4 Jahren.
Hallo,

das ist doch super und es freut mich, das es nun funktioniert klasse! Das man es zuvor minimieren muss erscheint sehr logisch, sind wir nur nicht drauf gekommen :-) auch ich wünsche ein frohes neues Jahr!

Gruss Günter

Bekannt aus:

 
 
 
„[...]mehr als Zehntausend Experten weltweit; 1500 davon in Deutschland. Acht Jahre nach dem Start ist das [...] Online-Unternehmen mit seinen 90 Mitarbeitern die größte Web-Seite für das Vermitteln von Experten von Anwälten über Ärzte bis hin zu Universitätsprofessoren.“
„Wer eine fachmänische Lösung für ein medizinisches, rechtliches oder technisches Problem sucht, kann das jetzt auch im Internet tun. Lebenshilfe auf die schnelle, unkomplizierte und vor allem erschwingliche Art bietet die Seite www.justanswer.de. Etwa 1500 Experten stehen per Mail für Fragen zu ca. 200 Fachgebieten rund um die Uhr zur Verfügung."
„Rat gewünscht? Rechtliche, medizinische oder allgemeine Fragen beantworten Experten unter www.justanswer.de."
„JustAnswer, die weltweit führende Online-Plattform für Expertenfragen und -antworten, bietet ab sofort noch mehr Sicherheit und Qualität für Verbraucher."
„Ob Vorbereitung, Notfall oder Reklamation nach dem Urlaub - JustAnswer bietet jederzeit schnelle, kompetente Antworten"
„Die Online-Plattform JustAnswer bringt Ratsuchende und Experten in über 200 Fachgebieten zusammen."
 
 
 

Was unsere Besucher über uns sagen:

 
 
 
  • Ich bedauere, dass ich nicht gleich bei Ihnen gelandet bin. Die Leerung des Cache hat das Problem gelöst. Danke Gerd Schönbuchner Grafrath
< Zurück | Weiter >
  • Ich bedauere, dass ich nicht gleich bei Ihnen gelandet bin. Die Leerung des Cache hat das Problem gelöst. Danke Gerd Schönbuchner Grafrath
  • Endlich ein Experte, der mir wirklich weiterhelfen konnte! DANKE! JustAnswer Kunde Taunusstein
  • Ihre Antwort hat mir sehr geholfen, die richtigen Entscheidungen zu treffen. Dass Sie mir darüber hinaus noch 2 Empfehlungen gegeben haben fand ich super. Vielen Dank! JustAnswer Kunde Freiburg
  • Die ausgearbeiteten Hilfen waren gut strukturiert, leicht verständlich und zu 100% hilfreich für mich. Vielen Dank Markus B. Karlsruhe
  • Sehr schnelle und kompetente Antwort, die für mich bares Geld bedeutet. Vielen Dank! S.Stober K.
  • Herzlichen Dank! Hab durch Ihre Antwort viel Geld gespart! Ben R. Deutschland
  • Sehr schnelle und kompetente Hilfestellung. Besonders für mich als Laien wurde alles sehr verständlich erklärt. Gerne wieder! Rosengl Bad Tölz
 
 
 

Lernen Sie unsere Experten kennen:

 
 
 
  • Tronic

    Tronic

    IT-Specialist

    Zufriedene Kunden:

    2269
    Elektroniker und EDV-Service
< Zurück | Weiter >
  • http://ww2.justanswer.com/uploads/PY/Pyroflash/2011-4-21_104934_tronic.64x64.jpg Avatar von Tronic

    Tronic

    IT-Specialist

    Zufriedene Kunden:

    2269
    Elektroniker und EDV-Service
  • http://ww2.justanswer.com/uploads/rufushoschi/2010-11-08_135947_bild.jpg Avatar von IT-Fachinformatiker

    IT-Fachinformatiker

    Systemadministrator

    Zufriedene Kunden:

    6338
    Software Entwicklung, Projekt Erfahrung, Windows-Netzwerke, Linux-Netzwerke, Windows/Linux-Server
  • http://ww2.justanswer.com/uploads/COMINAROSA/2010-02-03_172238_PASSBILD.JPG Avatar von COMIN IT-Service

    COMIN IT-Service

    Dipl.-Ing.

    Zufriedene Kunden:

    779
    Dipl.Ing (FH) ET, NT, IT
  • http://ww2.justanswer.com/uploads/RaubergerConcep/2010-03-02_102740_Portraet64.jpg Avatar von RaubergerConcept

    RaubergerConcept

    IT-Specialist

    Zufriedene Kunden:

    234
    Mehr als 10 Jahre Erfahrung in Softwareentwicklung und Netzwerktechnik
  • http://ww2.justanswer.com/uploads/LF/lfalkenburg/2015-2-8_01843_.64x64.jpg Avatar von Lutz Falkenburg

    Lutz Falkenburg

    IT-Specialist

    Zufriedene Kunden:

    96
    Seit über 20 Jahren beruflich im IT-/IUK-Bereich tätig. Egal ob EinzelPC der Netzwerk...
  • http://ww2.justanswer.com/uploads/BI/BigDaddyXD/2012-10-24_20126_WhySoSeriousJob.64x64.jpg Avatar von BigDaddyXD

    BigDaddyXD

    Informatiker

    Zufriedene Kunden:

    1588
    Microsoft Certified Professional, Microsoft Certified Desktop Support Technican,...
  • http://ww2.justanswer.com/uploads/PU/Pucky80/2011-5-14_54537_pucky80.64x64.jpg Avatar von Pucky80

    Pucky80

    IT-Systemkaufmann

    Zufriedene Kunden:

    1322
    MCITP (Microsoft Server 2008 Enterprise Administrator)
 
 
 

Ähnliche Fragen in der Kategorie Computer