Einzelnen Beitrag anzeigen
Ungelesen 16.01.11, 01:15   #9
tha_specializt
`
 
Registriert seit: Nov 2010
Ort: Zuhause
Beiträge: 142
Bedankt: 37
tha_specializt ist noch neu hier! | 0 Respekt Punkte
Standard

Da der allseits bekannte Forentroll wieder aufgeschlagen ist, noch schnell die exakte Benatwortung deiner Frage :

Zitat:
wie kann man in einer Funktion eine DLL aufrufen?
Nun, du hast das passende in AutoIt bereits genannt :

Code:
DllCall($kernel32, 'int', 'WriteProcessMemory', 'int', $mid, 'int', $adress, 'ptr', DllStructGetPtr($struct), 'int', DllStructGetSize($struct), 'int', 0)
Sofern du hier einfach dein gewünschte Funktion einträgst und auch aufpasst dass du dir keine Buffer Overflows produzierst scheint es in AutoIt wohl so zu funktionieren - auch ganz ohne LoadLibrary ... das wird denke ich im Hintergrund erledigt. Im Beispiel wird wohl "WriteProcessMemory" aufgerufen ... das sollte dich aber nicht verwirren, hat nichts mit der Vorgehensweise zu tun, das Übertragen in VB scheint kinderleicht zu sein :
Code:
 Declare Sub getdiskinfo Lib "c:\somepath\diskinfo.dll"
      (ByVal mydrive As String, ByVal myvolume As String, free As Long)
... da wird nichts geschrieben oder gelesen (mal von eventuellen Parametern abgesehen) sondern nur angesprungen, und zwar direkt in den Maschinencode in einer Datei auf der Platte - aber auch dass soll dich nicht weiter stören; die Erklärung hierfür sprengt jeden Rahmen ... is ja auch in Bezug auf das Thema nicht wichtig.
tha_specializt ist offline