dll funktion liefert kein ergebnis
Übersicht

![]() |
tixBetreff: dll funktion liefert kein ergebnis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Edit:
normalerweise soll der benutzer name ausgegeben werden der aktuell angemeldet ist -------------------------------------------------------------------------- naja hab das so umgesetzt wie chaos im chat gesagt hat denke is besser alles mal auf einem blick zu sehen theoretisch sollte das kein problem sein aber naja Code: [AUSKLAPPEN] Local lib2:Int = LoadLibraryA("advapi32.dll") Assert lib2, "DLL wurde nicht geladen" Global GetUserNameA:Long(lpBuffer:Byte Ptr,Size:Long)"Win32" = GetProcAddress(lib2,"GetUserNameA") Local buf:Byte Ptr = MemAlloc(32) Print GetUserNameA(buf,32) Print Int(buf) Local name:String = String.FromCString(buf) MemFree(buf) Print name msdn beispiel Code: [AUSKLAPPEN] ' Benutzernamen ermitteln:
Private Declare Function GetUserName _ Lib "advapi32.dll" Alias "GetUserNameA" ( _ ByVal lpBuffer As String, _ ByRef Size As Long _ ) As Long nach dem ich mich durch das gesamt thema gekämpft hab weiß ich jez auch net warum er nichts abliefert ausliefert oder zurückliefert oder so ^^ |
||
![]() |
Jo0oker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Versuch es mal so:
Code: [AUSKLAPPEN] Global GetUserNameA:Long(lpBuffer:Byte Ptr,Size:Long)"Win32" = GetProcAddress(lib2,"GetUserNameA@8") Edit: So bekomme ich ein Ergebnis, wenn auch ein recht komisches: Code: [AUSKLAPPEN] Local lib2:Int = LoadLibraryA("advapi32.dll") Global GetUserNameA:Long(lpBuffer:Byte Ptr,Size:Long)"win32" = GetProcAddress(lib2,"GetUserNameA") Local buf:Byte Ptr = MemAlloc(32) Print GetUserNameA(buf,32) Print Int(buf) Local name:String = String.FromCString(buf) MemFree(buf) Print name |
||
Tehadon, das kostenlose 3D RPG
www.tehadon.de http://www.blitzforum.de/worklogs/14/ Das Abenteuer wird beginnen! |
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
GetUserName gibt einen 32-Bit-Wert zurück (Long hat 64 Bit). Der zweiter Parameter ist ein Zeiger auf eine 32-Bit-Variable.
Code: [AUSKLAPPEN] Local lib2:Int = LoadLibraryA("advapi32.dll")
Assert lib2, "DLL wurde nicht geladen" Global GetUserNameA:Int(lpBuffer:Byte Ptr, Size:Int Ptr) "Win32" = GetProcAddress(lib2, "GetUserNameA") Local buf:Byte Ptr = MemAlloc(32) Local size:Int = 32 GetUserNameA(buf, Varptr size) Local name:String = String.FromCString(buf) MemFree(buf) Print name |
||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
![]() |
tix |
![]() Antworten mit Zitat ![]() |
---|---|---|
ganz ehrlich ich hab auf dich gewartet ![]() danKe (es geht) aber was mich verwirrt ist das bei msdn Code: [AUSKLAPPEN] GetUserNameA(ByVal lpBuffer As String,ByRef Size As Long) As Long
steht -.- ich hab schon geahnt das bei den parametern was net hinhaut ich hoffe ich krieg das bei anderen funktionen hin die parameter richtig zu deuten ich weiß eig schon das cstrings immer pointer sind und bei referenzen nur die adresse der variable über geben wird Edit: ------------------------------------------------------------------- also irwie check ich das mit den parametern nich so richtig, ich liste mal alle variationen auf Code: [AUSKLAPPEN] msdn beispiel dll func param basic dekl
----------------------------------------------------------------------- As Long >>> Int (Int) ByVal ServerName As Long >>> Byte Ptr (String) ByVal UserName As Long >>> Byte Ptr (String) ByVal Level As Long >>> Byte Ptr (String) ByVal Size As Long >>> Byte Ptr (String) ByVal lpBuffer As String >>> Byte Ptr (Byte Ptr) ByVal UserName As String >>> Byte Ptr (Byte Ptr) ByRef Size As Long >>> Int Ptr (Int) ByRef ptrBuffer As Long >>> Int Ptr (Int) ByRef Destination As Any >>> Int Ptr (UserType) ByRef Source As Any >>> Int Ptr bin mir eig sicher das da n fehler drin is ^^ Msdn beispiel kurz Code: [AUSKLAPPEN] NetUserGetInfo(
ByVal ServerName As Long, ByVal UserName As Long, ByVal Level As Long, ByRef ptrBuffer As Long ) As Long NetApiBufferFree( ByVal ptrBuffer As Long ) As Long GetUserNameA( ByVal lpBuffer As String, ByRef Size As Long ) As Long RtlMoveMemory( ByRef Destination As Any, ByRef Source As Any, ByVal Size As Long) |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group