kann mir jemand helfen?ich bräuchte ein python programm,mit dem ich über entsend nachrichten verschicken kann...msdos eingabeaufforderung ist gesperrt...
bitte hilfe![/python]
NetSend Python Programm
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ach, du hast auch den Spass herausgefunden?
Code: Alles auswählen
import os
os.system('net send RECHNER NACHRICHT')
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
thx schonmal...aber ich bin auf dem gebiet(programmiern) nicht so der crack....könnt mir jemand nen kompletten code schreiben?wär sehr dankbar!!!
momo
momo
-
- Gründer
- Beiträge: 410
- Registriert: Dienstag 30. Juli 2002, 18:03
- Wohnort: Oestrich-Winkel
- Kontaktdaten:
Du solltest dann doch am besten den Code selbst schreiben. Damit lernst du es auch.
Dieses Forum dient zum Erfahrungsaustausch und nicht zur "Auftragsprogrammierung".
Dieses Forum dient zum Erfahrungsaustausch und nicht zur "Auftragsprogrammierung".
irc: #python.de @ irc.freenode.net | [url=http://pythonwiki.pocoo.org]python-wiki[/url] | [url=http://www.pythonwiki.de/PythonDeForum/Faq]python-forum FAQ[/url]
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Das war theoretisch schon ein kompletter Code.Anonymous hat geschrieben:thx schonmal...aber ich bin auf dem gebiet(programmiern) nicht so der crack....könnt mir jemand nen kompletten code schreiben?
Aber gut, noch etwas ausführlicher:
Code: Alles auswählen
import os
rechner = raw_input("Rechnername: ")
nachricht = raw_input("Nachricht: ")
os.system('net send ' + rechner + ' ' + nachricht)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- Mawilo
- User
- Beiträge: 452
- Registriert: Sonntag 22. Februar 2004, 10:58
- Wohnort: Sachsen
- Kontaktdaten:
Gibt es mit Python eine Möglichkeit, einen Zeilenwechsel in die Nachricht zu bekommen? Sonst kann man die Nachricht nicht übersichtlich formatiert darstellen. Ich habe hier gelesen, das geht mit Strg-T. Aber wie kann das in Python umgesetzt werden?
Es wäre bestimmt auch ganz nett, die hier beschriebene Funktion in Python nachzubauen. Leider kann ich kein Delphi.
Stephan
Es wäre bestimmt auch ganz nett, die hier beschriebene Funktion in Python nachzubauen. Leider kann ich kein Delphi.
Stephan
Du könntest Die Nachricht zeilenweise in einer Schleife einlesen, die man mit einer Leerzeile oder eine speziellen Eingabe beenden muss.
- Mawilo
- User
- Beiträge: 452
- Registriert: Sonntag 22. Februar 2004, 10:58
- Wohnort: Sachsen
- Kontaktdaten:
Sobald in der Nachricht ein Zeilenende (\n) enthalten ist, wird an dieser Stelle die Nachricht beim Senden abgeschnitten und nur der erste Teil übermittelt. Gibt es eine Möglichkeit, das Zeilenende als hex (oder auch anders)anzugeben, damit es beim Empfänger richtig interpretiert wird?
Stephan
Stephan
Du kannst ja im Python-Programm ein bestimmtes Zeichen durch Zeilenumbrüche ersetzen:
edit:
Wobei ich nicht weiß, wie os.system auf die Zeilenumbrüche reagiert...
vielleicht wäre es besser das so zu machen:
Code: Alles auswählen
import os
rechner = raw_input("Rechnername: ")
nachricht = raw_input("Nachricht: ")
os.system('net send ' + rechner + ' ' + nachricht.replace("#", "\n"))
Wobei ich nicht weiß, wie os.system auf die Zeilenumbrüche reagiert...
vielleicht wäre es besser das so zu machen:
Code: Alles auswählen
os.system('net send %s "%s"' % (rechner, nachricht.replace("#", "\n")))
wenn man win32net benutzt kann man sogar noch den absender angeben
was genau man als argumente übergeben muss, weiß ich leider nicht. vielleicht weiß da ja ein anderer bescheid.
edit: zu der zeilenfrage: ist es u.U. möglich, dass man maximal nur eine zeile schicken kann?
Code: Alles auswählen
import win32net
win32net.NetMessageBufferSend(domain, userName, fromName, message)
edit: zu der zeilenfrage: ist es u.U. möglich, dass man maximal nur eine zeile schicken kann?
- Mawilo
- User
- Beiträge: 452
- Registriert: Sonntag 22. Februar 2004, 10:58
- Wohnort: Sachsen
- Kontaktdaten:
Danke für den Tipp.
Es muss aber irgendwie möglich sein, einen Zeilenwechsel zu senden. Es gibt dafür Beispiele im Internet (nur eben nicht für Python). Ich habe auch schon probiert, die Nachricht in eine Datei zu speichern, binär auszulesen und zu senden. Leider auch ohne Erfolg.
Stephan
Es muss aber irgendwie möglich sein, einen Zeilenwechsel zu senden. Es gibt dafür Beispiele im Internet (nur eben nicht für Python). Ich habe auch schon probiert, die Nachricht in eine Datei zu speichern, binär auszulesen und zu senden. Leider auch ohne Erfolg.
Stephan
Das Problem wird die Shell, also unter Windows wohl cmd.exe oder command.com sein, die ein Zeilenende als Ende der Eingabe interpretiert. Versuchs mal ohne den Umweg über eine Shell z.B. mit `os.spawnvp()`. Da kannst Du die Argumente direkt an das Program übergeben.
- Mawilo
- User
- Beiträge: 452
- Registriert: Sonntag 22. Februar 2004, 10:58
- Wohnort: Sachsen
- Kontaktdaten:
Hallo,
ich habe es jetzt mal mit win32net.NetMessageBufferSend getestet. Damit können wunderbar die Zeilenwechsel gesendet werden. Damit kann ich endlich eine formatierte Ausgabe erzeugen.
Als Absender kann ich aber nur meinen eigenen Namen angeben. Sonst müsste man irgendetwas mit dem Mailslot machen - aber davon habe ich keinen Schimmer.
Stephan
ich habe es jetzt mal mit win32net.NetMessageBufferSend getestet. Damit können wunderbar die Zeilenwechsel gesendet werden. Damit kann ich endlich eine formatierte Ausgabe erzeugen.
Als Absender kann ich aber nur meinen eigenen Namen angeben. Sonst müsste man irgendetwas mit dem Mailslot machen - aber davon habe ich keinen Schimmer.
Stephan
- Mawilo
- User
- Beiträge: 452
- Registriert: Sonntag 22. Februar 2004, 10:58
- Wohnort: Sachsen
- Kontaktdaten:
Mmh, das Prgramm hat viele Userbezogene Aspekte - ist also nur bedingt allgemeintauglich.
Ich kann aber die Funktionalität des Sendens erläutern.
Wenn man eine Nachricht nur mit NetMessageBufferSend im Netzwerk verschickt, so muss man zwingend einen auf dem Server(Rechner) vorhandenen Usernamen als Absender angeben. Mit der Funktion NetMessageNameAdd wird dem Rechner ein neuer Name zugefügt. Dieser Name ist frei wählbar (in meinem Beispiel 'nobody') . Nach dem Versenden der Nachricht wird der Alias-Name wieder vom Rechner mit der Funktion NetMessageNameDel entfernt.
Ansonsten habe ich herum noch ein GUI und eine Empfängerverwaltung (als Listbox, aus der man mit Doppelklick die Namen auswählen kann)gebastelt. Die Nachrichten werden in einem ScrolledText eingegeben. Zeilenumbrüche aus dem Textfeld werden übermittelt und beim Empfänger auch angezeigt. Weiterhin habe ich z.B. eine Funktion eingebaut, dass verschiedene User zum Geburtstag eine Mitteilung bekommen. Der Fantasie sind dabei keine Grenzen gesetzt.
Stephan
Ich kann aber die Funktionalität des Sendens erläutern.
Code: Alles auswählen
import win32net
alias = 'nobody'
empfanger = 'empfaenger' # Name bzw. Rechnername des Empfängers angeben
win32net.NetMessageNameAdd('', '%s'%alias)
win32net.NetMessageBufferSend('','%s'%empfanger,'%s'%alias,'test\ntest')
win32net.NetMessageNameDel('', '%s'%alias)
Ansonsten habe ich herum noch ein GUI und eine Empfängerverwaltung (als Listbox, aus der man mit Doppelklick die Namen auswählen kann)gebastelt. Die Nachrichten werden in einem ScrolledText eingegeben. Zeilenumbrüche aus dem Textfeld werden übermittelt und beim Empfänger auch angezeigt. Weiterhin habe ich z.B. eine Funktion eingebaut, dass verschiedene User zum Geburtstag eine Mitteilung bekommen. Der Fantasie sind dabei keine Grenzen gesetzt.
Stephan
als ich noch zu Schule ging (damals als die Gummistiefel noch auch Holz waren) haben wir das so gelöst:
netsendbomb.bat
netsendbomb.bat
Code: Alles auswählen
:start
net send 192.168.0.xx All your base are belong to us!
goto start
- http://bash.org/?400459