IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Chargement d'une ruche (registre)


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de LesLemmings
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 302
    Par défaut Chargement d'une ruche (registre)
    Bonjour,

    Je souhaiterais charger une ruche dans le registre en vb.NET mais je n’arrive pas à trouver comment faire. Avez-vous une idée ou un exemple ?
    Je sais comment faire en VB mais je souhaiterais le faire en VB.Net car je dois migrer le code en VB.NET.
    Note : pour ce qui ne sais plus ce qu’est de charger une ruche (moi la 1ère) dans l’Editeur de registre > fichier > charger la ruche > aller chercher le fichier .dat souhaité.

    Merci

  2. #2
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Fais voir le code en VB ...

  3. #3
    Membre éclairé Avatar de LesLemmings
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 302
    Par défaut
    Le Voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
    'Les déclarations
    Dim RetVal As Long
    Private Type LUID
        LowPart As Long
        HighPart As Long
    End Type
    Private Type LUID_AND_ATTRIBUTES
        pLuid As LUID
        Attributes As Long
    End Type
    Private Type TOKEN_PRIVILEGES
        PrivilegeCount As Long
        Privileges(1) As LUID_AND_ATTRIBUTES
    End Type
    Private TP As TOKEN_PRIVILEGES
     
    Private Const TOKEN_ADJUST_PRIVLEGES = &H20
    Private Const TOKEN_QUERY = &H8
    Private Const SE_PRIVILEGE_ENABLED = &H2
    Private Const HKEY_USERS = &H80000003
    Private Const SE_RESTORE_NAME = "SeRestorePrivilege"
    Private Const SE_BACKUP_NAME = "SeBackupPrivilege"
     
    Private Declare Function AdjustTokenPrivileges Lib "advapi32.dll" _
    (ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, _
    NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, _
    ByVal PreviousState As Long, ByVal ReturnLength As Long) As Long
     
    Private Declare Function RegLoadKey Lib "advapi32.dll" Alias "RegLoadKeyA" _
    (ByVal Hkey As Long, ByVal lpSubKey As String, ByVal lpFile As String) _
    As Long
     
     
    RetVal = OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVLEGES Or TOKEN_QUERY, MyToken)
    RetVal = LookupPrivilegeValue(vbNullString, SE_RESTORE_NAME, RestoreLuid)
    RetVal = LookupPrivilegeValue(vbNullString, SE_BACKUP_NAME, BackupLuid)
     
    'La fonction 
    Public Function ChargeRuche(ByRef RetCode As Long, ByVal Ruche As String,  ByVal Chemin As String)
       'initialisation de la structure
       TP.Initialize()
     
       'affectation des éléments de la structure
       TP.PrivilegeCount = 2
       TP.Privileges(0).pLuid = RestoreLuid
       TP.Privileges(0).Attributes = SE_PRIVILEGE_ENABLED
       TP.Privileges(1).pLuid = BackupLuid
       TP.Privileges(1).Attributes = SE_PRIVILEGE_ENABLED
     
       RetVal = AdjustTokenPrivileges(MyToken, TriState.False, TP, Len(TP), 0, 0)
       RetVal = RegLoadKey(HKEY_USERS, Ruche, Chemin)
       RetCode = RetVal
     
       RetVal = AdjustTokenPrivileges(MyToken, TriState.True, TP, Len(TP), 0, 0)
    End Function

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    l'appli d'api via Declare est encore possible en vb.net
    vb.net ne permet pas tout, et dans certains cas exotiques l'appel d'api reste obligatoire

    sinon voir dans microsoft.win32, y a des choses qui parlent de registry, dont une enum registryhive
    ou encore Microsoft.Win32.RegistryKey.OpenRemoteBaseKey
    m'enfin c'est pas sur que ca puisse ouvrir des registres autre que celui de la machine
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Chargement d'une dll dans la base de registre
    Par mariam1987 dans le forum Windows
    Réponses: 3
    Dernier message: 30/05/2008, 16h37
  2. Comment sauvegarder une ruche du registre dans un batch ?
    Par arnaudperfect dans le forum Windows XP
    Réponses: 11
    Dernier message: 30/08/2007, 14h52
  3. [debutant]Chargement d'une image de mes documents
    Par reineville dans le forum C++Builder
    Réponses: 5
    Dernier message: 23/03/2004, 09h52
  4. Chargement d'une lib partagée C++ dans un programme C
    Par Zero dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 30/09/2003, 16h40
  5. Chargement d'une texture a partir de la mémoire
    Par logramme dans le forum DirectX
    Réponses: 6
    Dernier message: 27/01/2003, 14h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo