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:

tray

 
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
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 10.08.2006, 22:23    Titel: tray Antworten mit Zitat

kann man ein fbprogramm dazu bringen das es sin ins tray minimiert und im hintergrund unsichtbar weiterläuft?
_________________
Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia

ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 10.08.2006, 22:26    Titel: Antworten mit Zitat

Ja, dafür muss man allerdings mit der WInAPI arbeiten.
Einfach mal im Forum suchen, das Thema gabs schon mal zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 10.08.2006, 22:38    Titel: Antworten mit Zitat

winapi ist mir leider noch zu hoch ... schluchz
_________________
Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia

ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Jojo
alter Rang


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

BeitragVerfasst am: 10.08.2006, 22:56    Titel: Antworten mit Zitat

was dir ist ein aufruf à la
Code:

schalteTrayEin


zu hoch? durchgeknallt durchgeknallt lachen

winApi ist nicht kompliziert, du brauchst nur die deklaration, z.B.
Code:

declare sub SchalteTrayEin alias "trayon32"()

vor der muss allerdings noch die user32.dll eingebunden werden, aber der code wird immer gleich mitgeleifert...das zeugs kannste dir sogar von microsoft besorgen durchgeknallt
_________________
» 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
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 10.08.2006, 23:30    Titel: Antworten mit Zitat

ich werd mal das tutorial auf freebasic.de genauer studieren
_________________
Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia

ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 11.08.2006, 18:36    Titel: Antworten mit Zitat

Meinst du das?
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 28.08.2006, 21:38    Titel: Antworten mit Zitat

#include "Windows.bi"

Dim hWndConsole As HWND
Dim FensterName$

FensterName$=Command$(0)

hWndConsole = FindWindow(0, strptr(FensterName$))
Sleep 1000
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.

funktionier ja wunderbar. Jetzt wüsste ich nur noch gern wie's funktioniert. Kann mir mal jemand erklären wofür die einzelnen variablen stehen und was die parameter in den funktionen bewirken - der rest versteht sich ja von selbst
_________________
Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia

ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

BeitragVerfasst am: 29.08.2006, 12:48    Titel: Antworten mit Zitat

Mal sehn, ob ich das noch hinbekomme, letztes Jahr um die Zeit war ich ja noch voll im API-Wahn zwinkern

Also, Zeile 1: Solltest du mit #INCLUDE nichts anfangen können, sieh dir am besten die Befehlsreferenz an:
Link
In der Datei sind dann alle möglichen deklarationen, die eben Funktionen aus der WinAPI definieren.
Die API (Application Programming Interface) ist nichts anderes als eine riesige Sammlung an Routinen, die dem Progger das Leben erleichtern sollen. (Und das manchmal sogar tun)
Du könntest aber auch ganz einfach so an die 100 000 TYPE, DECLARE und DEFINE-Zeilen in dein Programm schreiben, ist vermutlich einfacher, als dieser INCLUDE-Befehl Zunge rausstrecken
(Ach apropos: Den solltest du auch kennen:
http://www.freebasic.de/r.php?s=DEFINE )

Die beiden DIM's:
Du musst wissen, unter Windows bekommt alles eine Nummer, über die es angesprochen werden kann, einen so genannten Handle. Dieser Handle ist die Variable hWndConsole. Tatsächlich ist die Variable vom Typ UInteger, aber in der Windows.bi oder einer anderen Datei, die über die windows.bi mitgeladen wird, heißt's eben
#DEFINE HWND UINTEGER
oder so was ähnliches.
FensterName$ dürfte klar sein. Wen du den Code aber mal variierst, solltest du diese Zeile ändern:
DIM FensterName AS STRING
ist schöner. Suffixe sind nur noch für die Abwärtskompatibilität zu QB da zwinkern

Jetzt wird ermittelt, wie denn unser Fenster heißt, d.h. was in der Titelleiste steht. Damit COMMAND(0) Funktioniert, muss man im Konsolen-Modus sein.
Siehe http://www.freebasic.de/r.php?s=COMMAND
Für Grafikmodi kann man sich einfach WINDOWTITLE bedienen:
http://www.freebasic.de/r.php?s=WINDOWTITLE

OK, jetzt brauchen wir auch noch das Handle des Fensters, damit wir damit auch spielen können. Und dazu, richtig, gibts den ersten API-Aufruf.
FindWindow ist da ein ganz praktisches Mittel. Der erste Parameter, hier null, ist eigentlich uninteressant. Man könnte hier eine Fensterklasse Spezifizieren, und so die Auswahl ein bisschen einengen, aber das geht zu sehr ins Detail. Mit der null sagen wir der Funktion, dass die Fensterklasse für uns nicht wichig ist. Der Zweite Parameter dagegen interessiert uns schon mehr: StrPtr(FensterName).
Dazu vielleicht erst mal wieder einen Ausflug in die Referenz:
http://www.freebasic.de/r.php?s=STRPTR
und
http://www.freebasic.de/FBtuts.php?zeig=tuts&view=Referenz_Grundlagen-4.~Pointer.txt
Wir sagen also der Funktion, wo im Speicher der Name unseres Programms steht. Und dann schaut die Funktion in der Windows-Liste der registrierten Handles, welcher denn diesen Titel hat, den wir angegeben haben.
Tadaa, wir haben den Handle unseres Fensters, mit dem wir jetzt allen möglichen unsinn anstellen können.

Zum beistpiel den Fenster-Status ändern. ShowWindow ist da unser Mittel. Eigentlich ist es auch eine Funktion, aber die gibt nur zurück, ob das ganze denn Funktioniert hat, oder nicht, und weil man das sowiso sieht, wird der Rückgabewert einfach verworfen.
Der erste Parameter ist wieder die Info, welches Fenster wir denn anfassen wollen. Und der Zweite gibt an, was wir damit anstellen wollen.
SW_HIDE ist dabei einfach irgendeine Zahl.
In der Windows.bi steht nämlich so eine Zeile wie
#DEFINE SW_HIDE &H00234234a
(oder so ähnlich, der Wert ist natürlich frei erfunden)

In der ShowWindow steht, vereinfacht ausgedrückt, so eine art SELECT CASE-Block.
SELECT CASE ShowType
Case 1
' code, der das Fenster versteckt
Case 2
' code, der das Fenster pink einfärbt
...
END SELECT

Du kannst dich mal meinem Tutorial auf www.freebasic.de widmen. Das ist zwar mehr als veraltet (bezieht sich noch auf freeBASIC v0.13, so dass keins von den Examples mehr geht), aber die Hintergrundinfos stimmen immer noch. Und viel wäre nicht zu ändern, damit auch wieder alles passt...
Link:
http://www.freebasic.de/FBtuts.php?zeig=tuts&view=WinAPI_Grundlagen-1.~Vorwort.txt
Naja, mir fehlt trotzdem die Zeit, das zu erledigen...

Have a nice day
Ciao
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
alfonsospringer



Anmeldungsdatum: 27.04.2006
Beiträge: 445

BeitragVerfasst am: 29.08.2006, 13:35    Titel: Antworten mit Zitat

vielen vielen dank für den aufwand (ich habs verstanden juhu!)
_________________
Die Antworten zu fast allen Fragen des Lebens findest du entweder im MonsterFAQ oder der Befehlsreferenz - Und wenn du gar nicht mehr weiter weisst ? -> Wikipedia

ALLE RECHTSCHREIBFEHLER DIE ICH MACHE SIND BEABSICHTIGT, DAMIT DIE LEUTE, DIE SPAß DARAN HABEN SOLCHE ZU FINDEN, ETWAS ZU TUN HABEN
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden MSN Messenger
noop



Anmeldungsdatum: 04.05.2005
Beiträge: 259

BeitragVerfasst am: 30.08.2006, 12:00    Titel: Antworten mit Zitat

Ist der Tray nicht eigentlich der Bereich neben der Uhrzeit in der Taskleiste?
....
Wie ich grade sehe hat da einer mal meinen Thread ausgegraben.
Hier ist er, mit Code von Programmierer, wie man ein Programm in den Tray schickt. Mit Mausabfrage.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Lutz Ifer
Grillmeister


Anmeldungsdatum: 23.09.2005
Beiträge: 555

BeitragVerfasst am: 01.09.2006, 18:18    Titel: Antworten mit Zitat

Ich darf mal wieder Werbung für mein WinApi-Tutorial auf http://lutzifer.freebasic.de/winapi/ machen, auf denen ich die Grundlagen der WinApi erkläre - und wenn ich wegen Bundeswehr etwas mehr Zeit hätte, hätte ich den Beitrag von Programmierer längst in Form eines Kapitels übernommen....

Gruß
Lutz böse Ifer
_________________
Wahnsinn ist nur die Antwort einer gesunden Psyche auf eine kranke Gesellschaft.
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