Ich verschicke mit folgendem Code Nachrichten über den Nachrichtendienst:
Delphi-Quellcode:
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;
Leider liefert die Funktion auch
True, wenn der Nachrichtendienst deaktiviert ist und der Mailslot eigentlich nicht existiert.