Discussion:
Access in den Vordergrund bringen
(zu alt für eine Antwort)
Christian Fette
2004-01-13 08:29:21 UTC
Permalink
Hallo,

in einer Access-Anwendung (>2K) haben wir ein Formular (Popup) welches vom
Anwender auch nicht geschlossen werden kann. Innerhalb dieses Formulars wird
über timer ein VBA-Code abgearbeitet, der prüft, ob bestimmte Datensätze
einer Tabelle mit einem Datum UND Uhrzeit übereinstimmt
(Erinnerungsfunktion). Trifft dies zu, wird eine MSG angezeigt und ein Sound
abgespielt.
Wenn die Anwendung nun nicht im Vordergrund läuft wird zwar der Sound
abgespielt, aber die Textmeldung wird im Hintergrund angezeigt.

Wie kann ich diese Meldung trotz anderer laufender Tasks auf dem Bilkdschirm
sichtbar anzeigen?

Gruß
Christian
Jörg Ackermann
2004-01-13 09:00:59 UTC
Permalink
Hi,
Post by Christian Fette
in einer Access-Anwendung (>2K) haben wir ein Formular (Popup) welches vom
Anwender auch nicht geschlossen werden kann. Innerhalb dieses Formulars wird
über timer ein VBA-Code abgearbeitet, der prüft, ob bestimmte Datensätze
einer Tabelle mit einem Datum UND Uhrzeit übereinstimmt
(Erinnerungsfunktion). Trifft dies zu, wird eine MSG angezeigt und ein Sound
abgespielt.
Wenn die Anwendung nun nicht im Vordergrund läuft wird zwar der Sound
abgespielt, aber die Textmeldung wird im Hintergrund angezeigt.
Wie kann ich diese Meldung trotz anderer laufender Tasks auf dem Bilkdschirm
sichtbar anzeigen?
Wist Du ein wenig API brauchen:
zB.:
http://www.activevb.de/tipps/vb6tipps/tipp0007.html

HTH
Gruß
Christian Fette
2004-01-13 09:13:38 UTC
Permalink
Moin,
Post by Jörg Ackermann
http://www.activevb.de/tipps/vb6tipps/tipp0007.html
Nein, das Formular soll ruhig im Hintergrund stehen, solange keine
Erinnerung gefunden wurde. Hat AC jedoch einen Datensatz entseckt, soll die
MSGBOX im Vordergrund erscheinen...

Gruß
Christian
Jörg Ackermann
2004-01-13 09:35:41 UTC
Permalink
Hi,
Post by Christian Fette
Nein, das Formular soll ruhig im Hintergrund stehen, solange keine
Erinnerung gefunden wurde. Hat AC jedoch einen Datensatz entseckt, soll die
MSGBOX im Vordergrund erscheinen...
Und ?
was geht da nicht ?


im Deklarationsbereich:
Private Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, _
ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, _
ByVal cx As Long, _
ByVal cy As Long, ByVal wFlags As Long) As Long

'Deklaration: Globale Form API-Konstanten
Private Const SWP_NOMOVE As Long = &H2
Private Const SWP_NOSIZE As Long = &H1
Private Const HWND_TOPMOST As Long = -1&
Private Const HWND_NOTOPMOST As Long = -2&


Im Code:
...DS suchen
...DS gefunden

SetWindowPos Me.hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE + _
SWP_NOSIZE
Msgbox "Da war doch was..."
...weiter

Falls es nur die Msgbox sein soll, gibt es ja vbSystemModal.

Gruß
Johannes Karl @lumino.de>
2004-01-13 10:00:11 UTC
Permalink
Guten Morgen,
Post by Christian Fette
Moin,
Post by Jörg Ackermann
http://www.activevb.de/tipps/vb6tipps/tipp0007.html
Nein, das Formular soll ruhig im Hintergrund stehen, solange keine
Erinnerung gefunden wurde. Hat AC jedoch einen Datensatz entseckt, soll die
MSGBOX im Vordergrund erscheinen...
Gruß
Christian
Falls das eine NT/2k/XP Machine ist kann man sich selbst auch mit Netsend
ne Nachricht senden.
Vorteil: Programmcode wird nicht angehalten, und es können mehrere
Nachrichten warten und diese Werden dann nacheinander durch klicken auf OK
angezeigt
Nachteil: Es wird immer so ein dämlicher Text in der 1. Zeile angezeigt von
welchen PC die Nachricht versendet wurde, ansosnsten sieht das dingen aus
wie eine Combobox mit Okonly.

Bespiel müsstest du unter www.allapi.net finden unter dem Begriff:
NetMessageBufferSend

MfG Johannes
--
Access-FAQ: www.donkarl.com
Gernot Adams
2004-01-13 11:46:28 UTC
Permalink
Hi Johannes
Post by Johannes Karl @lumino.de>
Falls das eine NT/2k/XP Machine ist kann man sich selbst auch mit Netsend
ne Nachricht senden.
---

nur muß man bei diesem Dienst davon ausgehen, daß er von Usern oder Admin's
deaktiviert wurde, weil er oftmals für Spam-Nachrichten mißbraucht wird. So
findet man z.B. im Supportteil der c't aber auch in anderen Magazinen den
Tipp, diesen Dienst zu deaktivieren, um sich genau vor diesen
Spam-Nachrichten zu schützen.

Gruß Gernot
Johannes Karl @lumino.de>
2004-01-13 12:14:48 UTC
Permalink
Hallo Gernot,
Post by Gernot Adams
Hi Johannes
Post by Johannes Karl @lumino.de>
Falls das eine NT/2k/XP Machine ist kann man sich selbst auch mit Netsend
ne Nachricht senden.
nur muß man bei diesem Dienst davon ausgehen, daß er von Usern oder Admin's
deaktiviert wurde, weil er oftmals für Spam-Nachrichten mißbraucht wird. So
findet man z.B. im Supportteil der c't aber auch in anderen Magazinen den
Tipp, diesen Dienst zu deaktivieren, um sich genau vor diesen
Spam-Nachrichten zu schützen.
Ja das stimmt wohl ABER:
Die Spamnachrichten kommen nur durch wenn man eine direkte
Internetverbindunge hat. D.h. du hängst mit deinem PC am Modem und das
wars. Firmen haben in der Regel ein Router/Proxy was auch immer der die
Internetverbindung für die Belegschaft regelt. Dadurch ist dieser
Nachrichtendienst nicht mehr ansprechbar von aussen.

Es kommt ja auch auf die Applikation, und den Anwendungsbereich für dieses
"Feature" an. Ich nutze es um mir selbst DB-Fehler (die zum Glück sehr
selten sind) an mich zu senden. War halt nur so nen Hinweis das da noch was
geht ;)

MfG Johannes
--
Access-FAQ: www.donkarl.com
Loading...