AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi NET SEND für Windows 98? REPLACEMENT
Thema durchsuchen
Ansicht
Themen-Optionen

NET SEND für Windows 98? REPLACEMENT

Ein Thema von FlorianK · begonnen am 19. Apr 2004 · letzter Beitrag vom 21. Sep 2004
Antwort Antwort
Seite 2 von 4     12 34      
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#11

Re: NET SEND für Windows 98? REPLACEMENT

  Alt 20. Apr 2004, 15:09
Zitat von FlorianK:
Hallo,

Noch mal zum
Zitat:
Außerdem möchte ich einen Nachrichtendienst programmieren der wenn eine Nachricht reinkommt, diese dann in einer MessageBox ausgibt.
Weiß jemand wie das hinbekommen kann? Oder hat zumindest eine Idee?

Sieh dir mal die Hilfe zu MessageDlg oder MessageDlgPos an, das wirkt wunder.
Falls du es direkt mit der WinAPI lösen willst, dort heißt die Funktion MessageBox oder MessageBoxEx. Die Hilfe enthält genug Informationen zu diesen beiden Befehlen.
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
FlorianK

Registriert seit: 18. Apr 2004
Ort: [BUFFEROVERFLOW]
39 Beiträge
 
Delphi 7 Personal
 
#12

Re: NET SEND für Windows 98? REPLACEMENT

  Alt 20. Apr 2004, 15:15
Zitat von alcaeus:
Zitat von FlorianK:
Hallo,

Noch mal zum
Zitat:
Außerdem möchte ich einen Nachrichtendienst programmieren der wenn eine Nachricht reinkommt, diese dann in einer MessageBox ausgibt.
Weiß jemand wie das hinbekommen kann? Oder hat zumindest eine Idee?

Sieh dir mal die Hilfe zu MessageDlg oder MessageDlgPos an, das wirkt wunder.
Falls du es direkt mit der WinAPI lösen willst, dort heißt die Funktion MessageBox oder MessageBoxEx. Die Hilfe enthält genug Informationen zu diesen beiden Befehlen.
Ich mein den
Nachrichtendienst
und nicht die MessageBox!

Florian K.
Florian K.
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#13

Re: NET SEND für Windows 98? REPLACEMENT

  Alt 20. Apr 2004, 15:17

Sorry, ich dachte an die MessageBox, da das Wort kursiv war, kommt nicht wieder vor.
Ich habs zwar noch nie gemacht, aber wenigstens bei meinem D7Ent kann man einen Dienst erstellen (Datei->Neu->Andere, dann Dienst). Ich kenne mich damit aber überhaupt nicht aus, und gebe den Ball an erfahrene Leute ab...
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#14

Re: NET SEND für Windows 98? REPLACEMENT

  Alt 20. Apr 2004, 15:38
1. Ein Programm zum Senden gibt es unter Win9x. Nennt sich WinPopup und kann auch Kontakt zu NT/2000/XP-Rechern aufnehmen.

2. Mailslots funktionieren zwar, allerdings können Nachrichten dann nur an PC-Namen geschickt werden. WinPopup dagegen empfängt auch Nachrichten für den Benutzernamen. Aber wer mit Mailslots arbeiten will: eine Dialogbox im Stil des Nachrichtenempfangs von NT/2000/XP schlägt nonVCL mit knapp 30k zu Buche. Ich glaube so groß war mein Empfänger. Muss ich mal gucken ...
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#15

Re: NET SEND für Windows 98? REPLACEMENT

  Alt 20. Apr 2004, 15:46
Zitat von MathiasSimmack:
Mailslots funktionieren zwar, allerdings können Nachrichten dann nur an PC-Namen geschickt werden.
Das letzte Programm das ich mit Mailslots gesehen habe konnte an IP-Ranges schicken, also müsste es möglich sein. Vielleicht wurde aber nur ein Lookup-durchgeführt, ich weiß aber nicht ob das möglich ist.
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#16

Re: NET SEND für Windows 98? REPLACEMENT

  Alt 20. Apr 2004, 16:20
Zitat von alcaeus:
Das letzte Programm das ich mit Mailslots gesehen habe konnte an IP-Ranges schicken, also müsste es möglich sein. Vielleicht wurde aber nur ein Lookup-durchgeführt, ich weiß aber nicht ob das möglich ist.
Hä? Ich sprach von Benutzernamen (= Benutzerkonten!), du redest von IP-Adressbereichen, die üblicherweise nicht Benutzern sondern Computern zugeordnet sind.
  Mit Zitat antworten Zitat
FlorianK

Registriert seit: 18. Apr 2004
Ort: [BUFFEROVERFLOW]
39 Beiträge
 
Delphi 7 Personal
 
#17

Re: NET SEND für Windows 98? REPLACEMENT

  Alt 20. Apr 2004, 20:40
Hallo,
irgendwo habe ich mal den Code fürs herausfinden von Usern übers Netzwerk gefunden, ich weiß nicht ob er funktioniert:
Delphi-Quellcode:
unit NetworkUser;

interface

uses Windows;

type
   ATStrings = array of string;
   function GetUser(const ServerName: string): string;

implementation

function GetUser(const ServerName: string): string;
const MAX_NAME_STRING = 1024;
var userName,
  domainName: array [0..MAX_NAME_STRING] of Char;
  subKeyName: array [0..MAX_PATH] of Char;
  ArryList: ATStrings;
  subKeyNameSize: DWORD;
  index: DWORD;
  userNameSize: DWORD;
  domainNameSize: DWORD;
  lastWriteTime: FILETIME;
  usersKey: HKEY;
  sid: PSID;
  sidType: SID_NAME_USE;
  authority: SID_IDENTIFIER_AUTHORITY;
  subAuthorityCount: BYTE;
  authorityVal: DWORD;
  revision: DWORD;
  subAuthorityVal: ARRAY[0..7] OF DWORD;

  function getvals(s: string): integer;
  var i, j, k, l: integer;
    tmp: string;
  begin
    delete(s, 1, 2);
    j := pos('-', s);
    tmp := copy(s, 1, j - 1);
    val(tmp, revision, k);
    delete(s, 1, j);
    j := pos('-', s);
    tmp := copy(s, 1, j - 1);
    val('$' + tmp, authorityVal, k);
    delete(s, 1, j);
    i := 2;
    s := s + '-';
    for l := 0 to 7 do begin
      j := pos('-', s);
      if j > 0 then begin
        tmp := copy(s, 1, j - 1);
        val(tmp, subAuthorityVal[l], k);
        delete(s, 1, j);
        inc(i);
      end
      else break;
    end;
    result := i;
  end;

begin
  setlength(ArryList, 0);
  revision := 0;
  authorityVal := 0;
  FillChar(subAuthorityVal, SizeOf(subAuthorityVal), #0);
  FillChar(userName, SizeOf(userName), #0);
  FillChar(domainName, SizeOf(domainName), #0);
  FillChar(subKeyName, SizeOf(subKeyName), #0);
  if ServerName <> 'then begin
    usersKey := 0;
    if (RegConnectRegistry(pchar(ServerName), HKEY_USERS, usersKey) <> 0) then
      Exit;
  end
  else begin
    if (RegOpenKey(HKEY_USERS, NIL, usersKey) <> ERROR_SUCCESS) then
      Exit;
  end;
  index := 0;
  subKeyNameSize := SizeOf(subKeyName);
  while (RegEnumKeyEx(usersKey, index, subKeyName, subKeyNameSize, NIL, NIL, NIL,
  @lastWriteTime) = ERROR_SUCCESS) do begin
    if (lstrcmpi(subKeyName, '.default') <> 0) and (Pos('Classes', STRING(subKeyName)) = 0)
    then begin
      subAuthorityCount := getvals(subKeyName);
      if (subAuthorityCount >= 3) then begin
        subAuthorityCount := subAuthorityCount - 2;
        if (subAuthorityCount < 2) then subAuthorityCount := 2;
        authority.Value[5] := PByte(@authorityVal)^;
        authority.Value[4] := PByte(DWORD(@authorityVal) + 1)^;
        authority.Value[3] := PByte(DWORD(@authorityVal) + 2)^;
        authority.Value[2] := PByte(DWORD(@authorityVal) + 3)^;
        authority.Value[1] := 0;
        authority.Value[0] := 0;
        sid := NIL;
        userNameSize := MAX_NAME_STRING;
        domainNameSize := MAX_NAME_STRING;
        if AllocateAndInitializeSid(authority, subAuthorityCount, subAuthorityVal[0],
        subAuthorityVal[1], subAuthorityVal[2], subAuthorityVal[3], subAuthorityVal[4],
        subAuthorityVal[5], subAuthorityVal[6], subAuthorityVal[7], sid) then begin
          if LookupAccountSid(Pchar(ServerName), sid, userName, userNameSize, domainName,
          domainNameSize, sidType) then begin
            setlength(ArryList, length(ArryList) + 1);
            ArryList[length(ArryList) - 1] := string(domainName) + '\' + string(userName);
            result := string(userName);
          end;
        end;
        if Assigned(sid) then FreeSid(sid);
      end;
    end;
    subKeyNameSize := SizeOf(subKeyName);
    Inc(index);
  end;
  RegCloseKey(usersKey);
end;

end.
Vielleicht kann jemand der ein Netzwerk besitzt diesen Code testen?

Danke schon im voraus

Florian K.
Florian K.
Errare humanum est. - Irre sind auch nur Menschen.
  Mit Zitat antworten Zitat
FlorianK

Registriert seit: 18. Apr 2004
Ort: [BUFFEROVERFLOW]
39 Beiträge
 
Delphi 7 Personal
 
#18

Re: NET SEND für Windows 98? REPLACEMENT

  Alt 26. Apr 2004, 19:09
Hi,
habe jetzt eine Version ohne Benutzer compeliert.

Bitte Anregungen und Kritiken!!!!!

Weitere Ziele:

Wie orginal "NET SEND" Nachrichten an User verschicken.




Florian K.


INFO: Die Datei NetSend.exe ist mit UPX verkleinert worden. 8)


[edit=FlorianK] Datei entfernt, BUGS!!!!! [/edit]
Florian K.
Errare humanum est. - Irre sind auch nur Menschen.
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#19

Re: NET SEND für Windows 98? REPLACEMENT

  Alt 26. Apr 2004, 19:19
Hi, konnte das Programm leider noch nicht testen, habe zur Zeit kein Netz...
Zitat von Haftung.txt:
Für Schäden an der Gesundheit, dem Körper oder dem Leben des Nutzers haftet
der Autor uneingeschränkt. Ebenso haftet er für die Verletzung von Pflichten,
die zur Erreichung des Vertragszwecks von besonderer Bedeutung sind
(Kardinalspflichten).
Schäden an Gesundheit...das heißt, wenn jemand psychiatrisch behandelt werden muss, weil ich ihn mit Nachrichten bombardiere haftest du? *malschnellnetzeinrichten*
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
FlorianK

Registriert seit: 18. Apr 2004
Ort: [BUFFEROVERFLOW]
39 Beiträge
 
Delphi 7 Personal
 
#20

Re: NET SEND für Windows 98? REPLACEMENT

  Alt 26. Apr 2004, 19:28
Zitat von alcaeus:
Hi, konnte das Programm leider noch nicht testen, habe zur Zeit kein Netz...
Zitat von Haftung.txt:
Für Schäden an der Gesundheit, dem Körper oder dem Leben des Nutzers haftet
der Autor uneingeschränkt. Ebenso haftet er für die Verletzung von Pflichten,
die zur Erreichung des Vertragszwecks von besonderer Bedeutung sind
(Kardinalspflichten).
Schäden an Gesundheit...das heißt, wenn jemand psychiatrisch behandelt werden muss, weil ich ihn mit Nachrichten bombardiere haftest du? *malschnellnetzeinrichten*
Hahahahahahaahah

wenn DU ihn bombadierst hafte ich nicht!!!

Ich hafte nur wenn mein Programm ohne eingreifen Fremder die Gesundheit anderer beschädigt!

Ach noch'n kleiner Hinweis: Den Server startet man mit "NetSend.exe -ss"
Florian K.
Errare humanum est. - Irre sind auch nur Menschen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 12:05 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