![]() |
Existiert Mailslot? / Nachrichtendienst über Mailslots
Ich verschicke mit folgendem Code Nachrichten über den Nachrichtendienst:
Delphi-Quellcode:
Leider liefert die Funktion auch True, wenn der Nachrichtendienst deaktiviert ist und der Mailslot eigentlich nicht existiert.
function SendToMailSlot(const Machine, Slot, MsgText: string): Boolean;
var CompleteSlot : string; hSlot : THandle; BytesWritten : DWORD; begin BytesWritten := 0; CompleteSlot := '\\' + Machine + '\mailslot\' + Slot; hSlot := CreateFile(PChar(CompleteSlot), GENERIC_WRITE, FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); if hSlot <> INVALID_HANDLE_VALUE then begin if (WriteFile(hSlot, Pointer(PChar(MsgText))^, length(MsgText), BytesWritten, nil)) and (BytesWritten = length(MsgText)) then begin Result := True; end else Result := False; CloseHandle(hSlot); end else Result := False; end; |
Re: Existiert Mailslot?
Mailslots werden nicht auf Existenz geprüft. Wenn Du sicher gehen musst, dass der Empfänger existiert/die Nachricht erhält, dann setze auf Pipes. Das Handling ist identisch.
...:cat:... |
Re: Existiert Mailslot?
Nein, es geht schon um den Nachrichtendienst. Dann werde ich wohl nicht umhinkommen und prüfen müssen, ob der Nachrichtndiesnt gestartet ist.
|
Re: Existiert Mailslot?
Muss der Nachrichtendienst eigentlich auf dem Zielrechner laufen oder auf dem lokalen Rechner oder auf beiden?
|
Re: Existiert Mailslot?
auf beiden
|
Re: Existiert Mailslot?
Liste der Anhänge anzeigen (Anzahl: 1)
Mist, diese Abfrage scheitert wahrscheinlich wieder an XP Home. :wall:
Könnte mal bitte jemand versuchen eine Nachricht an einen Rechner zu schicken mit XP Professional oder Windows 2000 mit deaktivierten Nachrichtendienst? Und zwar einmal als Administrator und einmal mit eingeschränkten Rechten. Und dann noch mal ohne mit net use eine Freigabe zu erstellen und einmal mit. Das wäre nett. Danke. Programm im Anhang. |
Re: Existiert Mailslot? / Nachrichtendienst über Mailslots
Moin Michael,
getestet unter XP Pro, W2K und Vista, jeweils mit einem Account mit administrativen, und mit normalen Rechten, erscheint immer folgende Meldung: --------------------------- NetSend --------------------------- Messenger service is not running on <RECHNERNAME>. In order to send messages with this program the Messenger service must be running. --------------------------- OK --------------------------- |
Re: Existiert Mailslot? / Nachrichtendienst über Mailslots
Ok, besten Dank. :thumb:
Dann haben wir wieder das XP-Home-eingeschränkte-Netzwerkfunktionalitäts-Problem. Dann kann ich mein Programm so lassen. Ich werde es demnächst als OpenSource hier im Forum einstellen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz