AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Existiert Mailslot? / Nachrichtendienst über Mailslots
Thema durchsuchen
Ansicht
Themen-Optionen

Existiert Mailslot? / Nachrichtendienst über Mailslots

Ein Thema von Luckie · begonnen am 23. Feb 2007 · letzter Beitrag vom 25. Feb 2007
Antwort Antwort
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
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Existiert Mailslot?

  Alt 24. Feb 2007, 02:14
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.

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Existiert Mailslot?

  Alt 24. Feb 2007, 02:54
Nein, es geht schon um den Nachrichtendienst. Dann werde ich wohl nicht umhinkommen und prüfen müssen, ob der Nachrichtndiesnt gestartet ist.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Existiert Mailslot?

  Alt 24. Feb 2007, 18:27
Muss der Nachrichtendienst eigentlich auf dem Zielrechner laufen oder auf dem lokalen Rechner oder auf beiden?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
hedie

Registriert seit: 12. Dez 2005
Ort: Schweiz
1.024 Beiträge
 
Delphi XE6 Starter
 
#5

Re: Existiert Mailslot?

  Alt 24. Feb 2007, 18:39
auf beiden
Claudio
Tu was du nicht lassen kannst
- http://endasmedia.ch
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Existiert Mailslot?

  Alt 24. Feb 2007, 19:15
Mist, diese Abfrage scheitert wahrscheinlich wieder an XP Home.

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.
Angehängte Dateien
Dateityp: exe netsend_148.exe (36,0 KB, 12x aufgerufen)
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Existiert Mailslot? / Nachrichtendienst über Mailslots

  Alt 24. Feb 2007, 21:58
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
---------------------------
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Existiert Mailslot? / Nachrichtendienst über Mailslots

  Alt 25. Feb 2007, 22:11
Ok, besten Dank.

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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:13 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