Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Konsolen-Popup schließt Grafik-Vollbild

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
goooofy



Anmeldungsdatum: 12.09.2005
Beiträge: 69

BeitragVerfasst am: 12.05.2010, 17:23    Titel: Konsolen-Popup schließt Grafik-Vollbild Antworten mit Zitat

Und dann habe ich gleich noch ein unlösbares Problemchen...

Ich kompiliere mit -s gui um kein Konsolenfenster angezeigt zu bekommen.

Das Prog wird im Vollbild ausgeführt und enthält an einigen Stellen SHELL-Anweisungen. Sobald eine SHELL (z.B. SHELL "cscript.exe ...") ausgefürt wird, wird das Vollbild minimiert und es ist kurz die Konsole zu sehen, die sich aber gleich wieder schließt. So ist ein Betrieb im Vollbild natürlich nicht möglich. Das Konsolenfenster offen lassen (also ohne -s gui) möchte ich aber auch nicht, da das Prog wahlweise auch im Fenster ohne dieses lästige Fenster angezeigt zu bekommen laufen soll.

Gibt es vielleicht eine Möglichkeit, die Konsole "unsichtbar" offen zu lassen oder hat jemand eine andere Lösung parat?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 12.05.2010, 20:30    Titel: Antworten mit Zitat

OPEN PIPE (bzw in -lang qb dann wahrschienlich __OPEN PIPE oder OPEN __PIPE)
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
goooofy



Anmeldungsdatum: 12.09.2005
Beiträge: 69

BeitragVerfasst am: 13.05.2010, 11:17    Titel: Antworten mit Zitat

Gleiches Ergebnis mit PIPE, Vollbild wird gecanceld

Code:
'MIT -s gui KOMPILIEREN!

SCREENRES 640,480,,,1: WIDTH 80,30
PRINT "Taste druecken, um SHELL-Anweisung mit PIPE auszufuehren..."
SLEEP
OPEN PIPE "c:\windows\system32\cscript.exe" FOR INPUT AS #1
PRINT "Vollbild wurde verlassen :-("
CLOSE #1
PRINT "Taste druecken, um SHELL-Anweisung mit SHELL auszufuehren..."
SLEEP
SHELL "c:\windows\system32\cscript.exe"
PRINT "Vollbild wurde wieder verlassen :-("
PRINT "Taste druecken, um SHELL-Anweisung mit EXEC auszufuehren..."
SLEEP
EXEC "c:\windows\system32\cscript.exe",""
COLOR 4,0: PRINT "Und nu???"
SLEEP
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
darkinsanity
aka sts


Anmeldungsdatum: 01.11.2006
Beiträge: 456

BeitragVerfasst am: 14.05.2010, 21:40    Titel: Antworten mit Zitat

Würde ShellExecute funktionieren?
http://msdn.microsoft.com/en-us/library/bb762153%28VS.85%29.aspx
_________________
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Cherry



Anmeldungsdatum: 20.06.2007
Beiträge: 249

BeitragVerfasst am: 15.05.2010, 15:19    Titel: Antworten mit Zitat

Nein, dann hat er nämlich keine Pipe.

Wenn er die Pipe nicht bräuchte, würde ich nämlich zu wscript.exe statt cscript.exe raten.

Was für ein Skript willst du da eigentlich ausführen? Vielleicht ginge es mit FreeBasic auch, dann wäre das ganze Problem nicht mehr da.

EDIT: Oh, hab mich wohl verlesen.


Zuletzt bearbeitet von Cherry am 16.05.2010, 18:36, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
darkinsanity
aka sts


Anmeldungsdatum: 01.11.2006
Beiträge: 456

BeitragVerfasst am: 15.05.2010, 19:55    Titel: Antworten mit Zitat

Im ersten Post steht nicht, das er eine pipe braucht. Und in seinem Beispielcode nimmt er auch einfach shell, da hat er auch keine pipe.
_________________
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
goooofy



Anmeldungsdatum: 12.09.2005
Beiträge: 69

BeitragVerfasst am: 15.05.2010, 21:58    Titel: Antworten mit Zitat

Richtig, ich brauche keine pipe. Mir geht es nur darum, irgendwie ein Programm auszuführen, ohne dass mir der Fullscreen dabei abschmiert.
Ob ich da nun cscript oder sonst etwas aufrufe, macht keinen Unterschied.
Um meine Behauptung nochmal auf den Punkt zu bringen:

Es scheint offensichtlich nicht möglich zu sein, aus dem Vollbild heraus eine Anwendung zu starten, ohne dass das Vollbild minimiert wird, wenn mit -s gui kompiliert wurde.

Ob es sich dabei nun um einen Bug oder unverständliche Absicht handelt, weiß ich nicht.
Das Problem tritt sowohl unter XP mit Sp3 als auch unter Vista auf. Getestet auf zwei verschiedenen Computern mit unterschiedlichen Grafikkarten. Getestet sowohl mit der aktuellen SVN als auch der 0.20.0b.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
darkinsanity
aka sts


Anmeldungsdatum: 01.11.2006
Beiträge: 456

BeitragVerfasst am: 15.05.2010, 23:13    Titel: Antworten mit Zitat

Code:
Declare Function ShellExecute Lib "Shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

ShellExecute(0, "open", "Pfad und Programmname", "Parameter", "Arbeitsverzeichnis", 0)

Der Code führt einfach ein Programm aus, die 0 bewirkt das keine Anzeige erfolgt. Stünde da eine 1 würde man das Fenster sehen.
Achte aber darauf, das sich das Programm dann auch wirklich wieder schließt, sonst läuft es zwar noch, aber man sieht es nicht.

Die Funktion ist auch in den Windows-headern von FreeBASIC zu finden, bloß macht bei mir dann die "windef.bi" Probleme...
_________________
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
goooofy



Anmeldungsdatum: 12.09.2005
Beiträge: 69

BeitragVerfasst am: 31.05.2010, 11:44    Titel: Antworten mit Zitat

Danke dir vielmals, darkinsanity! Mit ShellExecute funktioniert es nun endlich.

Allerdings wartet er mit ShellExecute im Gegensatz zu SHELL nicht mehr aufs Programmende. Ginge das vielleicht irgendwie auch mit ShellExecute?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz