Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
c.m.obrecht

Anmeldungsdatum: 09.03.2006 Beiträge: 377 Wohnort: Hofstetten SO, CH
|
Verfasst am: 14.06.2006, 22:36 Titel: Konsolenfenster (nicht -s gui |
|
|
Es gab mal ein Thema über Konsolenfenster verschwinden lassen. Dort war von einem Befehl die Rede, nicht von -s gui; wie war dieser schonwieder?
Der Sinn wäre, das Konsolenfenster an einer bestimmten Stelle verschwinden zu lassen z.B. wenn eine Message Box kommt (die ist oft hinter dem Fenster versteckt) und es nacher wieder erscheinen zu lassen. |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 14.06.2006, 22:57 Titel: |
|
|
Hallo.
Du kannst über den Fenstertitel das fenster per WINAPI verschwinden lassen. Ich such dir den Code mal raus. |
|
Nach oben |
|
 |
Dominik
Anmeldungsdatum: 22.12.2004 Beiträge: 172
|
Verfasst am: 15.06.2006, 00:48 Titel: |
|
|
@programmierer: da war ich wohl schneller
Probier das mal aus, sollte gehen:
Code: | #include "Windows.bi"
Dim hWndConsole As HWND
Dim TitelDesKonsolenFensters As String
hWndConsole = FindWindow(0, TitelDesKonsolenFensters)
ShowWindow(hWndConsole, SW_HIDE) 'weg ist es
Sleep 1000 'für eine Sekunde
ShowWindow(hWndConsole, SW_SHOW) ' und nun ist es wieder da
Sleep 'und wartet auf einen Tastendruck.
|
|
|
Nach oben |
|
 |
c.m.obrecht

Anmeldungsdatum: 09.03.2006 Beiträge: 377 Wohnort: Hofstetten SO, CH
|
Verfasst am: 15.06.2006, 16:19 Titel: |
|
|
Vielen Dank; ausprobieren kann ich das auch erst wenn ich die neue Version installiert habe (wie beim Thema Drucken). |
|
Nach oben |
|
 |
c.m.obrecht

Anmeldungsdatum: 09.03.2006 Beiträge: 377 Wohnort: Hofstetten SO, CH
|
Verfasst am: 16.06.2006, 08:31 Titel: |
|
|
Das hat nicht funktioniert; das Fenster blieb. |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 16.06.2006, 09:56 Titel: |
|
|
Zu beachten ist diese Auffoderung:
hWndConsole = FindWindow(0, TitelDesKonsolenFensters)
Dort musst du den Namen des Fensters eingeben.
(Also Laufwerk+Pfad+Dateiname)
Ich suche eine schöne Lösung wie es sicher und einfach geht.
Edit:
So geht es:
Code: | #include "Windows.bi"
Dim hWndConsole As HWND
Dim TitelDesKonsolenFensters As String
FensterName$=Command$(0)
hWndConsole = FindWindow(0, strptr(FensterName$))
ShowWindow(hWndConsole, SW_HIDE) 'weg ist es
Sleep 1000 'für eine Sekunde
ShowWindow(hWndConsole, SW_SHOW) ' und nun ist es wieder da
Sleep 'und wartet auf einen Tastendruck. |
Edit 2:
Nun auch Dokumentiert auf Wikibooks. _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
 |
c.m.obrecht

Anmeldungsdatum: 09.03.2006 Beiträge: 377 Wohnort: Hofstetten SO, CH
|
Verfasst am: 16.06.2006, 11:49 Titel: |
|
|
Hm, muss ich mal genauer ausprobieren. Wäre ja C:\FreeBasic|fbidetemp.exe |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
|
Nach oben |
|
 |
c.m.obrecht

Anmeldungsdatum: 09.03.2006 Beiträge: 377 Wohnort: Hofstetten SO, CH
|
Verfasst am: 16.06.2006, 20:25 Titel: |
|
|
Direkt so funktioniert es bei mir nicht... Die Konsole bleibt einfach hier. |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 16.06.2006, 20:34 Titel: |
|
|
Ich tippe: es klappt.
Aber da das fenster versteckt wird, und eine sek später wieder auftaucht, kann es so aussehen, als würde das programm dann erst starten.
Falls ich richtig liege:
Code: |
#include "Windows.bi"
Dim hWndConsole As HWND
Dim TitelDesKonsolenFensters As String
FensterName$=Command$(0)
Print "Fenster wird sofort versteckt"
Sleep 2000,1
hWndConsole = FindWindow(0, strptr(FensterName$))
ShowWindow(hWndConsole, SW_HIDE) 'weg ist es
Sleep 4000,1
ShowWindow(hWndConsole, SW_SHOW) ' und nun ist es wieder da
Print "Jetzt sollte es wieder da sein."
Sleep
|
|
|
Nach oben |
|
 |
c.m.obrecht

Anmeldungsdatum: 09.03.2006 Beiträge: 377 Wohnort: Hofstetten SO, CH
|
Verfasst am: 17.06.2006, 06:38 Titel: |
|
|
Bei mir tatsächlich nicht.. ich habe auch sleep eingefügt, dass das Fenster erst nach einem Tastendruck verschwinden sollte. |
|
Nach oben |
|
 |
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 17.06.2006, 10:10 Titel: |
|
|
Welches WIndows benutzt du? |
|
Nach oben |
|
 |
c.m.obrecht

Anmeldungsdatum: 09.03.2006 Beiträge: 377 Wohnort: Hofstetten SO, CH
|
Verfasst am: 17.06.2006, 11:28 Titel: |
|
|
XP und 98... habe es auf XP probiert |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 17.06.2006, 12:08 Titel: |
|
|
In welchem Pfad ist dein Programm?
Vielleicht macht irgendein Sonderzeichen Probleme?
Freebasic Version?
(Ich hab 0.16 Stable)
Hast du auf deinem Rechner Adminrechte? _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 17.06.2006, 20:56 Titel: |
|
|
nur auf ME ausprobiert....
Bei Win ME brauche ich nur den Titel des Konsolefensters (auch bei der Ordneroption "Vollständigen Pfad in der Titelzeile anzeigen") ohne Pfad und Endung. Code: | #include "Windows.bi"
Dim hWndConsole As HWND
Dim FensterName As String
Dim x as Integer
FensterName=command(0)
x=1
do until instr(x, FensterName, "\")=0
x=instr(x, FensterName, "\") +1
loop
FensterName = Mid(FensterName, x, Len(FensterName) -x -3)
Print "Fenster wird sofort versteckt"
Sleep 2000,1
hWndConsole = FindWindow(0, strptr(FensterName))
ShowWindow(hWndConsole, SW_HIDE) 'weg ist es
cls
Print "Jetzt sollte es wieder da sein."
Sleep 4000,1
ShowWindow(hWndConsole, SW_SHOW) ' und nun ist es wieder da
Sleep |
_________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
c.m.obrecht

Anmeldungsdatum: 09.03.2006 Beiträge: 377 Wohnort: Hofstetten SO, CH
|
Verfasst am: 18.06.2006, 22:21 Titel: |
|
|
Wenn ich es richtig verstanden habe sollte bei diesem COde der Fenstername automatisch gefunden werden?
Version ist 0.15b ... ehm der Pfad, C:\programme\freebasic\fbidetemp.exe heiss es (beim Versuch).
Adminrechte, glaube ich schon, es hat nur einen Benutzernamen registriert und mit dem hat man auf alles Zugriff, glaube ich schon Adminrechte. |
|
Nach oben |
|
 |
Dominik
Anmeldungsdatum: 22.12.2004 Beiträge: 172
|
Verfasst am: 19.06.2006, 13:57 Titel: |
|
|
@Michael Frey
Ich habe mir erlaubt, die folgende unnötige Zeile aus Wikibooks zu löschen, die garnicht verwendet wird. Stattdessen sollte man besser FensterName$ dimmen, was ich auch geändert habe.
Code: | "Dim TitelDesKonsolenFensters As String" |
|
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 19.06.2006, 18:38 Titel: |
|
|
@Dominik
Hab mich schon gefragt wer das war , danke .
Edit:
Zitat: | Wenn ich es richtig verstanden habe sollte bei diesem COde der Fenstername automatisch gefunden werden? |
Genau das Versucht der Code von mir und volta, aber scheinbar verhält sich mal wieder jedes Windows anders ...
Zitat: | C:\programme\freebasic\fbidetemp.exe |
Da sehe ich jetzt nichts was stören könnte, okey der Pfad ist etwas lang aber das sollte doch bei Windows kein Problem mehr sein?!
Ich Teste es gleich.
Edit 2:
Der Pfad hier C:\Dokumente und Einstellungen\Benutzer\Desktop\gui.exe ist noch länger und es geht noch immer.
Welche Freebasic Version hast du?
Soviel ich weiss gibt es hin- und wieder änderungen bei / und \. _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
 |
c.m.obrecht

Anmeldungsdatum: 09.03.2006 Beiträge: 377 Wohnort: Hofstetten SO, CH
|
Verfasst am: 19.06.2006, 19:21 Titel: |
|
|
Ach so.. ich versuchte es auf XP und 98SE.
Die Freebasic-Version ist 0.15b _________________ ...längre blomstre gamle nord... |
|
Nach oben |
|
 |
Michael Frey

Anmeldungsdatum: 18.12.2004 Beiträge: 2577 Wohnort: Schweiz
|
Verfasst am: 19.06.2006, 19:49 Titel: |
|
|
Mal folgende Ideen wie man das im Kreis reden durchbrechen kann:
Mach einen Screenshoot, der die Titelzeile des Programmes und die vier Ausgaben umfasst:
Code: | ? command$(0)
? exepath
? curdir
? __FB_VERSION__
sleep |
Vielleicht kommen wir so dahinter.
Sonst kannst du auch mal FB 0.16 probieren. _________________ http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight |
|
Nach oben |
|
 |
|