Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Moin!

Kann mir jemand von Euch erklären, wie man den Funktionsaufruf "ShowWindow(SW_HIDE)" sinnvoll nutzen kann? Nach dem Rücksprung ist das Fenster unsichtbar und scheinbar nur noch im Task-Manager zugänglich. Inaktiv ist es auch, also wie kann es weiter Nachrichten verarbeiten?

Danke im voraus

Geschrieben

Hallo!

Wenn ein Fenster doch nicht mehr sichtbar ist, welche Nachrichten sollte es dann erhalten (außer WM_TIMER)? Du könnest aber die Nachrichtenbearbeitung ändern, so daß Dein Prog dauerhaft irgendwas macht, im Gegensatz zu Nachrichtenbearbeitung mit while( GetMessage(...) ), da dort nur etwas geschieht wenn Nachrichten ankommen. Dies würde in etwa so aussehen:

while( 1 )

{

if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))

{

if( msg.message==WM_QUIT )

break;

else

{

TranslateMessage(&msg);

DispatchMessage(&msg);

}

...

deine spezielen Anweisungen

...

}

}

Ich hoffe das Dich das irgendwie weiter bringt! Wenn nicht frag' nochmal genauer!

Gruß

Daniel

[ 25. April 2001: Beitrag editiert von: Strato ]

Geschrieben

Hallo Daniel,

erstmal Danke für die Antwort. Ich habe eigentlich nichts spezielles vor, aber mich interessiert einfach, welche Möglicheiten man mit dieser Option (SW_HIDE) hat. Lege ich mit Deiner Lösung nicht das ganze System lahm? Wäre da ein Hintergrundthread nicht besser? Und wie kann ich meinem Fenster WM_QUIT-Nachrichten (oder andere Userbefehle) zukommenlassen?

Geschrieben

Hallo!

1. Mit dieser Lösung legst Du keine Systeme lahm da das Programm ja auch nur eine begrenzte CPU-Zeit bekommt (die meisten Computerspiele verwenden diese Lösung).

2. Nachrichten wie etwa WM_QUIT muss sich das Programm selbst schicken wenn seine Aufgabe erledigt ist, oder Du hookst dich an die System-Nachrichtenschleife, dann kannst Du immer noch alle bzw. die gewünschten Nachrichten erhalten und darauf Reagieren!

Geschrieben

Hi Daniel,

wie hook ich mich denn an die Systemschleife? Ich hab leider recht wenig Erfahrung mit den "Dingen hinter der Kulisse", da ich bis jetzt nur MFC benutze.

Dank und Gruß

Geschrieben

Hallo!

Zu erklären wie man die Hauptnachrichtenschleife anzapft würde jetzt den Rahmen sprengen! Ist nicht sehr kompliziert, finde ich! Wenn Du mir deine eMail-Adresse gibst könnte ich Dir einen gescannten Artikel aus der c't senden der dies Beschreibt!

Grüße aus dem Ruhrpott in den Ruhrpott!

P.S. Vergiss die MFC!

[ 26. April 2001: Beitrag editiert von: Strato ]

Geschrieben

@strato,

wäre sehr nett, wenn du mir den artikel auch einmal zusenden könntest. meine adresse ist lange-m@web.de

ps: bitte nicht die aus dem profil verwenden. unser mailserver ist nicht am netz.

Geschrieben

@maddin

Ich habe die Adresse genommen die du oben angegeben hast, nicht die aus deinem Profil! Ich habe die Mail aber schon zum 2 mal zurück bekommen! Wie groß dürfen den bei dir die Mails + Anhänge sein?

Geschrieben

problem ist, das unser mailserver in der firma gerade umgezogen ist. zusammen mit der ausbildungsabteilung und die leute es in zwei wochen nicht geschafft haben, das ding wieder ans netz zu hängen. vielleicht wäre es eine möglichkeit das packet zu teilen oder in ein bis zwei wochen nocheinmal zu schicken.

ps: wenn die ct nach dem 1.1.2000 erschienen ist, würde es auch reichen, wenn du die ausgabe postest

Geschrieben

Die c't Ausgabe ist von 5.99 (glaube ich)! Wenn Du willst kann ich Dir den Artikel schicken wenn euer Server wieder läuft! Musst Dich halt nur mal bei mir melden!

Gruß

Daniel

  • 8 Monate später...
Geschrieben

sers.

ich weiss nicht, ob ihr inzwischen eine Loesung gefunden habt, habe aber gesehen das das Thema erneut angesprochen wurde...hier steht wie es bei der winapi geht

also bei der Winapi kenne ich 2 Möglichkeiten, dass Programm unsichtbar zu machen....

die Funktionen ShowWindow und UpdateWindow entfernen oder kurz vor der ShowWindow-Funktion

iCmdShow = SW_HIDE;

einfuegen...

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...