ctypes + netapi32.dll = NetSend oder Nicht ?
Verfasst: Montag 3. November 2008, 15:57
Hallo Leute!
Hab mich lange nicht mehr gemeldet,
also dachte ich schreibe ich mal wieder was...
Ich hoffe ihr könnt mir helfen, denn verstehen tue ich das nicht.
Zu diesem Code:
Auf der M$ Seite http://msdn.microsoft.com/de-de/library/bb979101.aspx
steht, dass die Strings alle als UniCode übergeben werden müssen,
daher die Formatierung.
Der Name "COPPERHEAD" ist der meines PC's.
Mein Problem ist, dass der Code keinen Fehler zurückgibt.
Jedoch tut sich auch nichts...
Ich weißt nicht ob die Byte Berechnung ("buflen") der Nachricht
richtig ist.
Dazu stand auf der M$ Seite nur :
Ich wollte einfach gern mal versuchen eine .dll zu nutzen.
Mfg Jonas
Hab mich lange nicht mehr gemeldet,
also dachte ich schreibe ich mal wieder was...

Ich hoffe ihr könnt mir helfen, denn verstehen tue ich das nicht.
Zu diesem Code:
Code: Alles auswählen
import ctypes
windll = ctypes.windll.LoadLibrary (r"C:\WINXP\system32\netapi32.dll")
servername = "\\COPPERHEAD"
servername = unicode(servername)
msgname = "COPPERHEAD"
msgname = unicode(msgname)
fromname = "Test"
fromname = unicode(fromname)
buf = "Meine Nachricht"
buf = unicode(buf)
def SendMessage (servername,msgname,fromname,buf):
buflen = len(buf)*2
back = windll.NetMessageBufferSend(servername,msgname,fromname,buf,buflen)
return back
SendMessage(servername,msgname,fromname,buf)
steht, dass die Strings alle als UniCode übergeben werden müssen,
daher die Formatierung.
Der Name "COPPERHEAD" ist der meines PC's.
Mein Problem ist, dass der Code keinen Fehler zurückgibt.
Jedoch tut sich auch nichts...
Ich weißt nicht ob die Byte Berechnung ("buflen") der Nachricht
richtig ist.
Dazu stand auf der M$ Seite nur :
Hoffe ich habe das Problem einigermaßen aufgeschlüsselt.Specifies a value that contains the length, in bytes, of the message text pointed to by the buf parameter.
Ich wollte einfach gern mal versuchen eine .dll zu nutzen.
Mfg Jonas
