Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Meldung in Windows ausgeben wenn das Prog im Hintergrund ist (https://www.delphipraxis.net/149364-meldung-windows-ausgeben-wenn-das-prog-im-hintergrund-ist.html)

Bruno75 19. Mär 2010 16:11


Meldung in Windows ausgeben wenn das Prog im Hintergrund ist
 
Hallo allerseits,

Problem:
ich versuche gerade ein Prog zu schreiben, welches im Hintergrund (vielleicht auch im Tray) laufen soll und Bedienhandlungen im InternetExplorer überwachen soll, das heisst dieser ist dann im Vordergrund. Nun möchte ich gern eine Meldung absetzen (Meldungsfenster, welches bestätigt werden muss), welche dann halt im Vordergrund erscheint. So recht weiß ich aber nicht, wie ich das hinbekommen kann.

Ich habe bereits mit SendMessage experimentiert, leider mit wenig Erfolg. Ich hab aber auch nicht wirklich Ahnung von diesem Befehl...
Bei dieser Befehlszeile kommt nur "kauderwelsch" raus: sendmessage(HWND_BROADCAST,Meldung,0,0);

Hat irgendwer ne Idee???

vielen Dank

turboPASCAL 19. Mär 2010 17:36

Re: Meldung in Windows ausgeben wenn das Prog im Hintergrund
 
Hier im Forum suchenMessageBox
Hier im Forum suchenShowMessage

..oder einfach eine Form anzeigen.


Was ist dabei denn genau das Problem? :gruebel:

Luckie 19. Mär 2010 18:53

Re: Meldung in Windows ausgeben wenn das Prog im Hintergrund
 
Was ist denn Meldung für eine Windows Nachricht? Die ist mir noch nie untergekommen. Die Windows Funktion SendMessage hat nichts mit dem Ausgaben von Meldungen auf den Bildschirm zu tun.

Meldungen an den Benutzer gibt man in der Regel mit Dialogboxen aus. Dazu kann man nehmen: MessageBox, MessageDlg, ShowMessage oder auch eigene Formulare.

Bruno75 19. Mär 2010 20:12

Re: Meldung in Windows ausgeben wenn das Prog im Hintergrund
 
Hallo,

danke ersteinmal für Eure schnellen Antworten.

mit dem Befehl MessageDlg hab ich es bereits versucht, mein Problem dabei ist, das in dem Moment wo die Meldung generiert wird ein anderes Programm als meins (IExplorer) den Windows-Focus hat, also im Vordergrund ist. Meine erzeugte Meldung wird erst in den Vordergrund gerückt, wenn ich in der Taskleiste auf mein Prog klicke (es den Focus von Windows erhält). Ich würde aber gern eine Meldung generieren, die sofort angezeigt wird, egal, welches andere Programm (nicht von mir, also z.B. InternetExplorer) gerade den Windows Focus hat.

für ne Idee oder nen Ansatz wäre ich echt dankbar.

mit freundlichen Grüßen
bruno

Luckie 19. Mär 2010 20:20

Re: Meldung in Windows ausgeben wenn das Prog im Hintergrund
 
Probiere Messagebox mit dem Flag für Systemmodal.

fatalerror 19. Mär 2010 20:24

Re: Meldung in Windows ausgeben wenn das Prog im Hintergrund
 
Eigentlich sollte es so funktionieren

Delphi-Quellcode:
Application.MessageBox('Diese MSGBox sollte im Vordergrund angezeigt werden',
  'Titelzeile', MB_OK + MB_ICONINFORMATION + MB_TOPMOST);

Luckie 19. Mär 2010 20:35

Re: Meldung in Windows ausgeben wenn das Prog im Hintergrund
 
Bitmasken verknüpft man mit OR. Dass hier auch das + funktioniert ist Zufall.

fatalerror 19. Mär 2010 20:59

Re: Meldung in Windows ausgeben wenn das Prog im Hintergrund
 
Zitat:

Zitat von Luckie
Bitmasken verknüpft man mit OR. Dass hier auch das + funktioniert ist Zufall.

ups, du hast natürlich recht. Das passiert wenn man sich (bzw ich mich) auf das CNPack verlässt ohne den Code anschliessend zu überprüfen. Ich sollte wohl mal schauen ob es da ein Update für das CNPack gibt oder den Fehler mal melden.

Bruno75 19. Mär 2010 21:07

Re: Meldung in Windows ausgeben wenn das Prog im Hintergrund
 
....ahhhhhhhhhhhhhhh, super, es funtzt.

Alles, klar, top, dankeschön für die schnelle Hilfe.

mit freundlichen Grüßen
bruno


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz