NetSend Python Programm

Du hast eine Idee für ein Projekt?
Gast

NetSend Python Programm

Beitragvon Gast » Mittwoch 9. März 2005, 12:45

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]
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Mittwoch 9. März 2005, 13:57

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 Modvoice
Gast

Beitragvon Gast » Mittwoch 9. März 2005, 22:46

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
piddon
Gründer
Beiträge: 410
Registriert: Dienstag 30. Juli 2002, 18:03
Wohnort: Oestrich-Winkel
Kontaktdaten:

Beitragvon piddon » Mittwoch 9. März 2005, 23:26

Du solltest dann doch am besten den Code selbst schreiben. Damit lernst du es auch.

Dieses Forum dient zum Erfahrungsaustausch und nicht zur "Auftragsprogrammierung".
irc: #python.de @ irc.freenode.net | python-wiki | python-forum FAQ
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Donnerstag 10. März 2005, 13:27

Anonymous hat geschrieben:thx schonmal...aber ich bin auf dem gebiet(programmiern) nicht so der crack....könnt mir jemand nen kompletten code schreiben?

Das war theoretisch schon ein kompletter Code.
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 Modvoice
Gast

Beitragvon Gast » Donnerstag 10. März 2005, 18:03

danke für die hilfe!!
momo
Benutzeravatar
Mawilo
User
Beiträge: 446
Registriert: Sonntag 22. Februar 2004, 10:58
Wohnort: Sachsen
Kontaktdaten:

Beitragvon Mawilo » Dienstag 30. August 2005, 17:15

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
BlackJack

Beitragvon BlackJack » Dienstag 30. August 2005, 22:27

Du könntest Die Nachricht zeilenweise in einer Schleife einlesen, die man mit einer Leerzeile oder eine speziellen Eingabe beenden muss.
Benutzeravatar
Mawilo
User
Beiträge: 446
Registriert: Sonntag 22. Februar 2004, 10:58
Wohnort: Sachsen
Kontaktdaten:

Beitragvon Mawilo » Mittwoch 31. August 2005, 11:18

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
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Beitragvon henning » Mittwoch 31. August 2005, 11:53

Du kannst ja im Python-Programm ein bestimmtes Zeichen durch Zeilenumbrüche ersetzen:

Code: Alles auswählen

import os
rechner = raw_input("Rechnername: ")
nachricht = raw_input("Nachricht: ")
os.system('net send ' + rechner + ' ' + nachricht.replace("#", "\n"))


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

os.system('net send %s "%s"' % (rechner, nachricht.replace("#", "\n")))
Benutzeravatar
Mawilo
User
Beiträge: 446
Registriert: Sonntag 22. Februar 2004, 10:58
Wohnort: Sachsen
Kontaktdaten:

Beitragvon Mawilo » Mittwoch 31. August 2005, 13:26

Ja, aber damit enthält die Nachricht ein \n und wird abgeschnitten
henning
User
Beiträge: 274
Registriert: Dienstag 26. Juli 2005, 18:37

Beitragvon henning » Mittwoch 31. August 2005, 14:07

Achso, sorry, hab grad erst das Problem verstanden...
Ich würde mal tippen, dass Strg+T unter (Win)Do(w)s eine bestimme ASCII-Sequenz erzeugt, du musst nur noch rausfinden, welche ,-)
Johi
User
Beiträge: 22
Registriert: Sonntag 21. November 2004, 20:08

Beitragvon Johi » Samstag 3. September 2005, 10:41

wenn man win32net benutzt kann man sogar noch den absender angeben ;)

Code: Alles auswählen

import win32net
win32net.NetMessageBufferSend(domain, userName, fromName, message)

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?
Benutzeravatar
Mawilo
User
Beiträge: 446
Registriert: Sonntag 22. Februar 2004, 10:58
Wohnort: Sachsen
Kontaktdaten:

Beitragvon Mawilo » Samstag 3. September 2005, 11:24

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
BlackJack

Beitragvon BlackJack » Samstag 3. September 2005, 23:39

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.

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder