Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Memoria ed Indirizzi nel Visual Basic

    Salve a tutti raga, qualcuno sa dirmi come cavolo passare ad un'API l'indirizzo di una struttura?

  2. #2
    in vb non esistono le strutture se ti riferisci ad un udt basta che gli passi una variabile dimensionata su quel udt o il nome dell'udt stesso
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  3. #3
    ci ho provato ma mi da errore

  4. #4
    esempio
    codice:
    ' dichiaro l'udt
    Private Type SYSTEMTIME
        wYear As Integer
        wMonth As Integer
        wDayOfWeek As Integer
        wDay As Integer
        wHour As Integer
        wMinute As Integer
        wSecond As Integer
        wMilliseconds As Integer
    End Type
    'dichiaro l'API
    Private Declare Function SetSystemTime Lib "kernel32" (lpSystemTime As SYSTEMTIME) As Long
    Private Sub Form_Load()
        'variabile dimensionata sull'udt
        Dim lpSystemTime As SYSTEMTIME
        inizializzo l'udt
        lpSystemTime.wYear = 2000
        lpSystemTime.wMonth = 1
        lpSystemTime.wDayOfWeek = -1
        lpSystemTime.wDay = 24
        lpSystemTime.wHour = 23
        lpSystemTime.wMinute = 26
        lpSystemTime.wSecond = 0
        lpSystemTime.wMilliseconds = 0
        'chiamo l'api
        SetSystemTime lpSystemTime
    End Sub
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  5. #5
    aspetta amico, mi sono espresso male io, all'api devo passare l'indirizzo
    --------------------------------------------------------------
    codice:
    Const NERR_Success = 0
    Const CP_ACP = 0
    Private Type USER_INFO_3
        usri3_name As Long
        usri3_password As Long
        usri3_password_age As Long
        usri3_priv As Long
        usri3_home_dir As Long
        usri3_comment As Long
        usri3_flags As Long
        usri3_script_path As Long
        usri3_auth_flags As Long
        usri3_full_name As Long
        usri3_usr_comment As Long
        usri3_parms As Long
        usri3_workstations As Long
        usri3_last_logon As Long
        usri3_last_logoff As Long
        usri3_acct_expires As Long
        usri3_max_storage As Long
        usri3_units_per_week As Long
        usri3_logon_hours As Byte
        usri3_bad_pw_count As Long
        usri3_num_logons As Long
        usri3_logon_server As String
        usri3_country_code As Long
        usri3_code_page As Long
        usri3_user_id As Long
        usri3_primary_group_id As Long
        usri3_profile As Long
        usri3_home_dir_drive As Long
        usri3_password_expired As Long
    End Type
    
    Private Type USR_INFO_0
        usri_name As String
    End Type
    
    Private Declare Function NetUserGetInfo Lib "netapi32" _
    (ByVal servername As String, ByVal username As String, ByVal level As Long, bufptr As Long) As Long
    
    Private Declare Function NetUserSetInfo Lib "netapi32" _
    (ByVal servername As String, ByVal username As String, ByVal level As Long, bufptr As Long, parm_err As Long) As Long
    
    Private Declare Function NetApiBufferFree Lib "netapi32" (ByVal Buffer As Long) As Long
    Private Declare Sub MoveMemory Lib "kernel32" Alias "RtlMoveMemory" (pDest As Any, pSource As Any, ByVal dwLength As Long)
    Private Declare Function lstrlenW Lib "kernel32" (lpString As Any) As Long
    Private Declare Function WideCharToMultiByte Lib "kernel32" (ByVal codepage As Long, ByVal dwFlags As Long, lpWideCharStr As Any, ByVal cchWideChar As Long, lpMultiByteStr As Any, ByVal cchMultiByte As Long, ByVal lpDefaultChar As String, ByVal lpUsedDefaultChar As Long) As Long
    ' Returns an ANSI string from a pointer to a Unicode string.
    Public Function GetStrFromPtrW(lpszW As Long) As String
        Dim sRtn As String
        sRtn = String$(lstrlenW(ByVal lpszW) * 2, 0)   ' 2 bytes/char
        ' WideCharToMultiByte also returns Unicode string length
        Call WideCharToMultiByte(CP_ACP, 0, ByVal lpszW, -1, ByVal sRtn, Len(sRtn), 0, 0)
        GetStrFromPtrW = GetStrFromBufferA(sRtn)
    End Function
    ' Returns the string before first null char encountered (if any) from an ANSII string.
    Public Function GetStrFromBufferA(sz As String) As String
        If InStr(sz, vbNullChar) Then
            GetStrFromBufferA = Left$(sz, InStr(sz, vbNullChar) - 1)
        Else
            ' If sz had no null char, the Left$ function
            ' above would return a zero length string ("").
            GetStrFromBufferA = sz
        End If
    End Function
    Private Sub Form_Load()
        Dim lpBuf As Long
        Dim ui3 As USER_INFO_3
        Dim uimod As USR_INFO_0
        Dim pippo As Long
        
        uimod.usri_name = "cioa"
        NetUserSetInfo "", "neo", 0, uimod, pippo
        If (NetUserGetInfo("", StrConv("neo", vbUnicode), 3, lpBuf) = NERR_Success) Then
            Call MoveMemory(ui3, ByVal lpBuf, Len(ui3))
            MsgBox GetStrFromPtrW(ui3.usri3_name)
            MsgBox GetStrFromPtrW(ui3.usri3_comment)
            Call NetApiBufferFree(ByVal lpBuf)
        End If
    End Sub

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.