Einzelnen Beitrag anzeigen

Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

Existiert Mailslot? / Nachrichtendienst über Mailslots

  Alt 23. Feb 2007, 22:18
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat