Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi net send mailslot (https://www.delphipraxis.net/48857-net-send-mailslot.html)

Bunke5 1. Jul 2005 09:53


net send mailslot
 
Hallo Leute,

ich habe folgendes Problem, ich habe eine USV, die über "net send" von Windows an alle Rechner im Netzwerk meldet, das z.B. der Strom ausgefallen ist. Dieses soll nun meine Anwendung mitbekommen. Bislang habe ich es so gelöst, das meine Anwendung schaut ob eine "net send" Windowsfenster aufgeht und es wenn es sich um eine Nachricht der USV handelt bearbeitet.

Das ist jawohl von hinten durch die Brust ins Auge oder. :gruebel:

Nun bin ich durch Zufall beim lesen hier daraufgestossen, das sich diese Nachricht der USV wahrscheinlich eleganter über einen mailslot abfangen (abfragen) lässt.

Hab darauf weitergesucht aber nichts wirklich passendes gefunden.

Mailslot sind leider Neuland für mich. Hoffe das mir jemand helfen und vielleicht ein Tutorial zu diesem Thema kennt, oder einen Hinweis hat wo ich weiter Information zu mailslot bekommen kann. Ne Lösung ist auch ok im Notfall :-D , würde das ganze Gebiet aber lieber begreifen.

Olli 1. Jul 2005 10:30

Re: net send mailslot
 
Das läßt sich nicht "einfach" über einen Mailslot abfangen. Denn um dies zu machen mußt du deinen eigenen Messenger-Service implementieren. An sich kein Riesenproblem, aber immerhin ein Aufwand der über bloßes Kontrollieren eines Mailslots hinausgeht.

Den Namen des freundlichen Mailslots von nebenan findest du z.B. in diesem Quellcode von mir:
http://assarbad.net.local/stuff/!export/netsendusingmailslot.txt

Wenn du bereit bist dies zu machen (eigener Service), kannst du ja mal weiterfragen ;)
Helfen würde ich dir dabei prinzipiell.

Bunke5 1. Jul 2005 11:26

Re: net send mailslot
 
Erst mal danke für die Antwort und das Angebot,

ich denke ich werde das über den mailslot umsetzten, weil ich es für die bessere Lösung halte. Meine erste Frage hierzu habe ich auch gleich. Ich muss den Windows Messenger Service ersetzen, Oder?
Wie ich einen eingen Messenger Service implementiere, das müsste ich dann schon hinbekommen. Aber welchen Windows Service muss ich ersetzten?

NicoDE 1. Jul 2005 11:30

Re: net send mailslot
 
Zitat:

Zitat von Bunke5
Aber welchen Windows Service muss ich ersetzten?

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servic es\Messenger

Olli 1. Jul 2005 12:17

Re: net send mailslot
 
Zitat:

Zitat von Bunke5
Erst mal danke für die Antwort und das Angebot,

ich denke ich werde das über den mailslot umsetzten, weil ich es für die bessere Lösung halte. Meine erste Frage hierzu habe ich auch gleich. Ich muss den Windows Messenger Service ersetzen, Oder?

Ja.

Zitat:

Zitat von Bunke5
Wie ich einen eingen Messenger Service implementiere, das müsste ich dann schon hinbekommen.

Ist aber nicht offen dokumentiert! Du mußt dir also z.B. meine Implementation zum Schicken angucken um zu sehen in welchem Format der Mailslot Daten bekommt.

NicoDE 1. Jul 2005 12:29

Re: net send mailslot
 
Ich habe es immer so verstanden, dass die Mailslots nur ein Interface des Messengers sind (da die MailSlot-Methode mindestens bei 9x->NT nicht funktioniert, habe ich mein eigenes NetSend schreiben dürfen).

'net send' läuft über den NetBT Datagram Services (NetBIOS over TCP/IP ist übrigens auf etlichen Rechnern deaktiviert).

ps: vielleicht hilft das weiter: http://djernaes.dk/martin/vcl.html#TmdMailSlot

Olli 1. Jul 2005 13:03

Re: net send mailslot
 
Zitat:

Zitat von NicoDE
Ich habe es immer so verstanden, dass die Mailslots nur ein Interface des Messengers sind

Ist ja richtig. Aber du kannst nicht einen (zumindest nicht trivial, das wissen wir beide) Mailslot einer fremden Anwendung (bzw. Service) - nämlich des Messenger-Service von MS - belauschen. Daher gibt es nur die Variante serverseitig den Service neu zu implementieren. Das meinte ich.

Zitat:

Zitat von NicoDE
(da die MailSlot-Methode mindestens bei 9x->NT nicht funktioniert, habe ich mein eigenes NetSend schreiben dürfen).

Da haben wir ja alle eines :mrgreen:

NicoDE 1. Jul 2005 13:21

Re: net send mailslot
 
Zitat:

Zitat von Olli
Da haben wir ja alle eines :mrgreen:

Stimmt, aber nicht für Win9x *g*

Olli 1. Jul 2005 13:34

Re: net send mailslot
 
Zitat:

Zitat von NicoDE
Zitat:

Zitat von Olli
Da haben wir ja alle eines :mrgreen:

Stimmt, aber nicht für Win9x *g*

Also mein NET SEND funzt auch von 9x aus. Aber einen Server/Service haben wir für 9x nicht. Der hieß IMO WinPopup oder so ähnlich. Aber war das für 9x gesucht?


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:27 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